如果一维数组中的每个元素仍然是一个数组,那么这个数组就是一个二维数组。二维数组常用于表示表,表中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标代表元素所在的列。
二维数组的创建
二维数组可以看作是特殊的一维数组,因此,二维数组的创建同样有两种方式。
1.先声明,再用 new 运算符进行内存分配
声明二维数组的语法如下:
数组元素的类型 数组名字[][];
int array[][];
数组元素的类型[][] 数组名字;
int[][] array;
同一维数组一样,二维数组在声明的时候也没有分配内存空间,同样要用 new 关键字来分配内存,然后才可以访问每个元素。对于高维数组,有两种为数组分配内存的方式:
(1)直接为每一维分配内存空间
int a = new int[2][4];
该行代码创建了二维数组 a,二维数组 a 中包括两个长度为4的一维数组,内存分配如下:

(2)分别为每一维分配内存
a = new int[2][];
a[0] = new int[2];
a[1] = new int[3];
2.声明的同时为数组分配内存
此第二种方式同第一种实现的功能相同。使用这种方式为二维数组分配内存时,首先指定最左边维数的内存,然后单独地给余下的维数分配内存。通过这第二种方式为二维数组分配内存时,内存分配图如下:

二维数组初始化
二维数组的初始化与一维数组初始化类似,同样可以使用大括号完成。基本初始化语法为:
type arrayName[][] = {value1, value2...... valuen};
- type:数组数据类型
- arrayName:数组名称,一个合法的标识符
- value:数组中各元素的值
同一维数组一样,二维数组的下标也是从0开始的。
使用二维数组
例如,遍历二维数组中的元素并输出
public class test {
public static void main(String[] args) {
int a[][] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print("a[" + i + "][" + j + "] = " + a[i][j] + " ");
}
System.out.println();
}
System.out.println();
}
}

:数组之二维数组&spm=1001.2101.3001.5002&articleId=109559560&d=1&t=3&u=7a35ec4f39764306bba8eb57c2c834c7)
854

被折叠的 条评论
为什么被折叠?



