在本小节中将学习java中的二维数组。数组就像一个容器,可以容纳一定数量的值。
让我们看几个定义java二维数组或二维数组的例子。
1. Java二维数组原始类型
int[][] arr = new int[2][3];
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = j;
System.out.print(arr[i][j] + " ");
}
System.out.println("");
}
2. Java二维对象数组
String[][] arrStr = new String[3][4];
for (int i = 0; i < arrStr.length; i++) {
for (int j = 0; j < arrStr[i].length; j++) {
arrStr[i][j] = "Str" + j;
System.out.print(arrStr[i][j] + " ");
}
System.out.println("");
}
因此,可以定义原始数据类型以及对象的二维数组。如果看一下上面的例子,二维数组就像一个矩阵,类似于下图。
但是,在Java中没有二维数组的概念。java中的二维数组只是一个数组的组。所以下面的图示确定义了java中的二维数组结构。
Java多维数组示例
如果java中的二维数组是一个数组数组,那么它也应该支持非对称大小,如下图所示。
它在java中绝对没问题。下面是一个描述上述多维数组的示例程序。
public class MultidimensionalArrayExample {
public static void main(String[] args) {
//使用快捷语法创建和初始化二维数组
int[][] arrInt = { { 1, 2 }, { 3, 4, 5 } };
for (int i = 0; i < arrInt.length; i++) {
for (int j = 0; j < arrInt[i].length; j++) {
System.out.print(arrInt[i][j] + " ");
}
System.out.println("");
}
// 多维数组初始化
int[][] arrMulti = new int[2][]; //这是有效的写法
arrMulti[0] = new int[2];
arrMulti[1] = new int[3];
arrMulti[0][0] = 1;
arrMulti[0][1] = 2;
arrMulti[1][0] = 3;
arrMulti[1][1] = 4;
arrMulti[1][2] = 5;
for (int i = 0; i < arrInt.length; i++) {
for (int j = 0; j < arrInt[i].length; j++) {
System.out.print(arrInt[i][j] + " ");
}
System.out.println("");
}
}
}
执行上面示例代码,得到以下结果-
1 2
3 4 5
1 2
3 4 5