目录
二维数组
二维数组其实也是个一维数组,只不过该一维数组的每个元素又都是一个一维数组。
创建二维数组
1.定义二维数组
int[][] array = new int[1][2]; //或者 int[][] array; array = new int[1][2];//数组有默认值,int类型默认值为0
2.定义并初始化二维数组
int[][] array = new int[][]{{1,2,3},{4,5,6},{7,8,9}}; //或者省略new int[][] int[][] array = {{1,2,3},{4,5,6},{7,8,9}};
二维数组本质研究
array数组中只有一个数组(三个元素),只是这三个元素又都存着一个一维数组 。
array.length长度指的是array数组中元素的个数(也就是上图的左侧,3个元素),array[i].length的长度指的是右侧蓝色数组的长度(刚好凑巧也是3)
二维数组的输出
1.双层for循环输出
2.for each循环输出二维数组
3.使用方法Arrays.deepToString();
不规则数组
在java中允许不规则数组存在,也就是第一行可以有3个元素,第二行有10个...
//int[][] arr = new int[][3];错误,java中不允许省略行 //原因:因为arr.length的长度是行的个数,因此不能省略 int[][] arr = new int[3][];//正确,java中可以省略列
也是因为java中允许省略列的原因,造就了它允许有不规则数组的存在。
由于没有分配列个数,因此array中的三个元素array[0]、array[1]、array[2]都是null,因此在使用array[i].length时就会包空指针异常,
不规则数组的创建和使用