二维数组
如果一维数组的各个元素仍然是一个数组,那么它就是一个二维数组。 二维数组常用于表示表,表中的信息以行和列的形式组织, 第一个下标代表元素所在的行,第二个下标代表所在的列。
二维数组的创建
先声明,再用 new 运算符进行内存分配
声明语法格式:
数组元素的类型 数组名字[][];
数组元素的类型[][] 数组名字;
分配内存语法:
数组名字 = new 数组类型[][]
a = new int[2][4]; // 直接给每一维分配内存空间
b = new int[2][]; //分别为每一维分配内存,这种方式列可省,行不可省
a[0] = new int[2];
a[1] = new int[3];
声明的同时为数组分配内存
数组元素的类型 数组名字[][] = new 数组元素的类型[][]
二维数组的初始化
二维数组的初始化与一位数组初始化类似,同样使用大括号完成。
语法格式:
- type:数组数据类型;
- arrayname:数组名称,一个合法的标识符;
- value:数组中各元素的值。
使用二维数组
使用二维数组常见的就是遍历数组,介绍两种遍历数组的方法。
先来学习一下各种表示方法:
表示二维数组的行数: 二维数组名.length
表示一行: 二维数组名[行下标] (行下标的范围:[0,二维数组总行数 - 1])
表示每一行的列数: 二维数组名[行下标].length
表示具体的一个数据: 二维数组名[行下标][列下标] (列下标的范围:[0,该行总列数 - 1])
1、使用 for 循环遍历
2、使用 foreach 循环遍历
int array[][] = new int[3][4]; //创建一个3行4列的数组,并且里面值都为默认值
// 使用 for 循环
for(int i=0;i<array.length;i++) { // 第一个循环,循环每一行
for (int j=0;j<array[i].length;j++) { //第二个循环,循环每行的每一列
System.out.print(array[i][j]);
}
System.out.println();
}
// 使用 foreach
for(int a[]: array) { // 第一个循环,第一个参数代表循环中的类型,即数组,第二个参数为循环对象
for(int j: a) { // 循环上一个循环中的第一个参数中的每一个即可
System.out.print(j);
}
System.out.println();
}