图片是借鉴别人的。这个是二位数组的内存结构。
通过图片我们可以看到二维数组就是两个一维数组。
我们就可以很好的理解二维数组,就是把一个一维数组里面在放一个以为数组,然后第一个数组就是行坐标,后放入的就是列坐标。
二维数组的初始化:
一
动态的初始化:
int [][] arr =new int[2][3];
示例;
public static void main(String[] args) {
int [][] arr =new int[2][3];
System.out.println(arr.length);
System.out.println(arr[0].length);
}
打印结果
可以理解成2行,3列。
二
静态的初始化;
int [][]arr1 =new int[][]{{2,3,4},{5,6}};
示例;
int [][]arr1 =new int[][]{{2,3,4},{5,6}};
System.out.println(arr1[0][1]);
结果
这个就是我刚才说到然后第一个数组就是行坐标,后放入的就是列坐标。
但是大家要记住数组的坐标是从0开始算的
2行3列其实坐标就是
是一个这样的结构二行三列。
我们可以试一下打印一个行坐标为1 列坐标为2的值,虚拟机会给我们报空指针异常。
int [][]arr1 =new int[][]{{2,3,4},{5,6}};
System.out.println(arr1[1][2]);
结果
现在大家应该都懂了把。