当数组中存储的元素类型仍然为数组时,该数组称为二维数组。
int [][]arr=new int[3][4];
上面的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组,接下来通过一个图来表示这种情况,如下图所示。
int [][]arr=new int[3][];
第二种方式和第一种类似,只是数组中每个元素的长度不确定,接下来通过一个图来表示这种情况,如下图所示。
int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};
上面的二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9},接下来通过一个图来表示这种情况,如图所示。
需求:声明一个二维数组
public class ArrDemo12{
public static void main(String[] args){
//定义一个长度为3,每个数组元素都是一个长度为4的数组的二维数组
int[][] a = new int[3][4];
System.out.println(a);
System.out.println(a.length);//3
System.out.println(a[0].length);//4
System.out.println(a[1].length);//4
System.out.println(a[2].length);//4
}
}
运行结果
对二维数组中元素的访问也是通过索引的方式,如需访问二维数组中第一个元素数组的第二个元素,具体代码如下:
arr[0][1]; //访问的为二维数组中第1个一维数组的第2个元素
需求:
定义一个二维数组,输出0,0位置和1,2位置的元素
public class ArrDemo13{
public static void main(String[] args){
int[][] a = {{1,2},{3,4,5,6},{7,8,9}};
System.out.println(a[0][0]);//1
System.out.println(a[1][2]);//5
}
}
运行结果:
对二维数组中的所有元素进行遍历展示
需求:
定义一个二维数组,将里面的所有元素展示出来
public class ArrDemo14{
public static void main(String[] args){
int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};
for(int y=0; y<arr.length; y++) {
for(int x = 0; x < arr[y].length; x++) {
System.out.print(arr[y][x] + " ");
}
System.out.println();//换行
}
}
}
运行结果: