Java语言基础6

Java语言基础6:二维数组、内存结构、参数传递、实参和形参

1、二维数组

(1)二维数组:元素是一维数组的数组。定义二维数组时,二维数组的行数必须要给定,列数可以不给定。

(2)定义格式1:数据类型[ ][ ] 数组名=new 数据类型[m][n];

二维数组的行数和列数均给定。

m行n列。m:表示这个二维数组有m个一维数组。n:表示每个一维数组的元素有n个。

注意:以下格式也可以表示二维数组:(一维数组和二维数组的数组名是引用类型,默认值是null)

A:数据类型  数组名[ ][ ]=new 数据类型[m][n];

B:数据类型[ ]  数组名[ ]=new 数据类型[m][n];

举例:

int[][] arr=new int[3][2];
//输出二维数组名称
System.out.println(arr);	//地址值
//输出二维数组的第一个元素即一维数组的名称
System.out.println(arr[0]);	//地址值
System.out.println(arr[1]);
System.out.println(arr[2]);
//输出二维数组的元素
System.out.println(arr[0][0]);	//元素值
System.out.println(arr[0][1]);
System.out.println(arr[1][0]);
System.out.println(arr[1][1]);
System.out.println(arr[2][0]);
System.out.println(arr[2][1]);

内存结构图:

Java语言基础6_第1张图片


(3)定义格式2:数据类型[ ][ ] 数组名=new 数据类型[m][ ];

二维数组的行数给定,列数不给定,动态给出。

m行 动态 列。m:表示这个二维数组有m个一维数组。列数没有给出:表示二维数组的列数可以动态给出。

举例:( 二维数组名配合一个编号是一维数组名,二维数组配合两个编号是二维数组元素。)

int[][] arr=new int[3][];
arr[0]=new int[2];
arr[1]=new int[3];
arr[2]=new int[1];
Java语言基础6_第2张图片

(4)定义格式3:数据类型[ ][ ] 数组名=new 数据类型[ ][ ]{{元素1,元素2...}, {元素1,元素2...} ,{元素1,元素2...}};

二维数组的行列均不给出。

简化版本格式:数据类型[ ][ ] 数组名={{元素1,元素2...}, {元素1,元素2....}, {元素1,元素2....}};

举例:

int[][] arr={{1,2,3},{4,5,6},{7,8,9}};
int[][] arr={{1,2,3},{4,5},{6}};


2、Java中参数的传递问题:

(1)基本类型:形式参数的改变对实际参数没有任何影响。(传过去的是数值)

(2)引用类型:形式参数的改变直接影响实际参数。(传过去的是地址值)

Java语言基础6_第3张图片




你可能感兴趣的:(Java语言基础)