1.二维数组
数组是引用类型,数组中的元素可以是引用数据类型,因此在一维数组中每个元素都为一个一维数组,即为二维数组。相当于一个表格
2.初始化
(1)静态初始化
int[][] arr = new int[][]{{3,8,2},{2,7},{9,0,1,6}};
说明
第二个元素为arr[1] = {2,7}
,第二个元素中的第一个为arr[1][0] = 2
。
二维数组的长度为arr.length
,第二个元素的长度为arr[1].length
。
特殊写法:声明两个数组 int[] x,y[];
,x是一维数组,y是二维数组。
(2)动态初始化
① 第一种
int[][] arr = new int[3][2];
二维数组中有3个元素,每个元素是一个一维数组,每个一维数组有2个元素。
一维数组的名称分别为:arr[0],arr[1],arr[2]
给第一个一维数组中的第二个元素赋值arr[0][1] = 78;
② 第二种
int[][] arr = new int[3][];
二维数组中有3个一维数组,每一个都是默认初始化为null,一维数组中的元素不能调用,否则报错。
分别进行3个一维数组的初始化
arr[0] = new int[3];
arr[1] = new int[2];
arr[3] = new int[4];
这种写法int[][] arr = new int[][3]
是错误的。
3.二维数组的遍历
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
4.内存解析
int[][] arr = new int[4][];
arr[1] = new int[]{1, 2, 3};
arr[2] = new int[4];
arr[2][1] = 5;
(1)先执行int[][] arr = new int[4][];
堆内存中开辟连续空间,一维数组为null
(2)执行arr[1] = new int[]{1, 2, 3};
(3)执行
arr[2] = new int[4];
arr[2][1] = 5;
标签:arr,Java,一维,int,二维,数组,new
From: https://www.cnblogs.com/zhishu/p/16613624.html