多维数组可以看成以数组为元素的数组,可以有二维、三维……
- Java支持两种类型的多维数组:
1>等长数组,即每一行有相同的列数
2>不规则数组
此处主要介绍二维数组的声明和初始化及二维数组的打印方式,二维数组的拷贝方法此处不再加以介绍,拷贝方法同一维数组的拷贝方法。
Java不同于C语言中的二维数组的声明,Java中的二维数组行必须确定而在C语言中则是列必须明确。
类型名 [][] 数组变量名 = new 类型名[大小][大小];
array[下标][下标] = 初始值;
int [][] array = new int[2][2];//此时为两行两列的数组,且值均为0
array[0][0] = 1;//此时第一行第一列数值为1
类型名 [][] 数组变量名 = {{初始值设定项}{初始值设定项}……};
int [][] array = {{1,2,3},{4,5,6}};
类型名 [][] 数组变量名;
数组变量名 = new 类型 [大小][大小];
int [][] array;
array = new int [2][2];
- 二维数组的打印
方法①:for循环嵌套输出
public class TestArray {
public static void main(String[] args) {
int [][] array = {{1,2,3},{4,5,6}};
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j]+" ");
}
}
}
运行结果:
方法②:foreach循环嵌套输出
public class TestArray {
public static void main(String[] args) {
int [][] array = {{1,2,3},{4,5,6}};
for (int []m : array) {
for (int n : m) {
System.out.print(n+" ");
}
}
}
}
方法③:foreach、Arrays.toString()输出
public class TestArray {
public static void main(String[] args) {
int [][] array = {{1,2,3},{4,5,6}};
for (int []m : array) {
System.out.println(Arrays.toString(m));
}
}
}
运行结果:
方法④:Arrays.deeptoString()输出
public class TestArray {
public static void main(String[] args) {
int [][] array = {{1,2,3},{4,5,6}};
System.out.println(Arrays.deepToString(array));
}
}
运行结果: