• java的值传递机制


    一、练习:编写Java程序,将二维数组中的行列互调显示出来。

      代码1为自己编写:

     1 package com.xxgpra.CH6;
     2 
     3 public class Hangliehudiao_pra4 {
     4     
     5     public static void main(String[] args) {
     6         
     7         int[][] arr1 = new int[][]{{1,2,3},{4,5,6},{7,8,9}};
     8         Hangliehudiao_pra4 hang = new Hangliehudiao_pra4();
     9         
    10         System.out.println("数组原有内容: ");
    11         hang.showArray(arr1);
    12         
    13         for(int i = 0;i< arr1.length;i++){      
    14             for(int j = 0;j<3;j++){
    15                 int temp = 0;
    16                 temp = arr1[i][j];
    17                 arr1[i][j] =arr1[j][i];
    18                 arr1[j][i] = temp;
    19             }
    20             
    21         }
    22         
    23         System.out.println("数组现有内容: ");
    24         hang.showArray(arr1);     //变化后的数组指向同一地址,所以打印出来的结果一样
    25 
    26         
    27     }
    28 
    29     private void showArray(int[][] arr1) {
    30         
    31         for(int i = 0;i<arr1.length;i++){
    32             for(int j = 0;j<arr1.length;j++){
    33                 System.out.println(arr1[i][j]);
    34             }
    35             System.out.println();
    36         }
    37         
    38     }
    39 }

    代码2为参考答案:

     1 public class Eval { // 创建类
     2     public static void main(String[] args) {
     3         int arr[][]=new int[][]{{1,2,3},{4,5,6},{7,8,9}};
     4         System.out.println("数组原有内容:");
     5         for(int i = 0;i<arr.length;i++){
     6             for(int j=0;j<arr.length;j++){
     7                 System.out.print(arr[i][j]);
     8             }
     9             System.out.println();
    10         }
    11         System.out.println("行列互换后数组内容:");
    12         for(int i = 0;i<arr.length;i++){
    13             for(int j=0;j<arr.length;j++){
    14                 System.out.print(arr[j][i]);
    15             }
    16             System.out.println();
    17         }
    18     }
    19 }

    代码1打印的结果,都为行列互调后的数组。它们指向了同一地址。

    二、知识点:java的值传递机制

    1.概念
    形参:方法在声明时的参数
    实参:方法在调用时,实际传递给参数的变量、值

    2.java参数传递机制:值传递
    规则:如果传递的是基本数据类型的变量,那么将基本数据类型的变量的值传递过去。
    如果传递的是引用数据类型的变量,那么将引用数据类型的变量的地址值传递过去。

    3.典型例题与内存解析:

  • 相关阅读:
    vue.js 源代码学习笔记 ----- html-parse.js
    vue.js 源代码学习笔记 ----- text-parse.js
    vue.js 源代码学习笔记 ----- keep-alives
    一些图片剪切组件.
    好听的粤语歌..
    jQuery框架Ajax常用选项
    form自动提交
    .NET EF 框架-实现增删改查
    简单抓取小程序大全,并展示
    C#关于调用微信接口的代码
  • 原文地址:https://www.cnblogs.com/developmental-t-xxg/p/10096303.html
Copyright © 2020-2023  润新知