原文: https://www.programiz.com/java-programming/multidimensional-array
在本教程中,我们将借助示例学习使用 2 维数组和 3 维数组的 Java 多维数组。
在学习多维数组之前,请确保您了解 Java 数组。
多维数组是数组的数组。 多维数组的每个元素都是数组本身。 例如,
int[][] a = new int[3][4];
在这里,我们创建了一个名为a的多维数组。 它是一个二维数组,最多可容纳 12 个元素,

二维数组
请记住,Java 使用基于零的索引,即 Java 中数组的索引以 0 而不是 1 开头。
让我们再举一个多维数组的例子。 这次我们将创建一个 3 维数组。 例如,
String[][][] data = new String[3][4][2];
在此,data是 3d 数组,最多可容纳String类型的 24(3 * 4 * 2)个元素。
如何在 Java 中初始化 2D 数组?
这是我们如何在 Java 中初始化二维数组。
int[][] a = {{1, 2, 3},{4, 5, 6, 9},{7},};
如我们所见,多维数组的每个元素都是数组本身。 而且,与 C/C++ 不同,Java 中多维数组的每一行可以具有不同的长度。

二维数组的初始化
示例:二维数组
class MultidimensionalArray {public static void main(String[] args) {// create a 2d arrayint[][] a = {{1, 2, 3},{4, 5, 6, 9},{7},};// calculate the length of each rowSystem.out.println("Length of row 1: " + a[0].length);System.out.println("Length of row 2: " + a[1].length);System.out.println("Length of row 3: " + a[2].length);}}
输出:
Length of row 1: 3Length of row 2: 4Length of row 3: 1
在上面的示例中,我们正在创建一个名为sum的多维数组。 由于多维数组的每个分量也是数组(a[0],a[1]和a[2]也是数组)。
在这里,我们使用length属性来计算每行的长度。
示例:使用循环打印 2d 数组的所有元素
class MultidimensionalArray {public static void main(String[] args) {int[][] a = {{1, -2, 3},{-4, -5, 6, 9},{7},};for (int i = 0; i < a.length; ++i) {for(int j = 0; j < a[i].length; ++j) {System.out.println(a[i][j]);}}}}
输出:
1-23-4-5697
我们还可以将用于…每个循环,以访问多维数组的元素。 例如,
class MultidimensionalArray {public static void main(String[] args) {// create a 2d arrayint[][] a = {{1, -2, 3},{-4, -5, 6, 9},{7},};// first for...each loop access the individual array// inside the 2d arrayfor (int[] innerArray: a) {// second for...each loop access each element inside the rowfor(int data: innerArray) {System.out.println(data);}}}}
输出:
1-23-4-5697
在上面的示例中,我们创建了一个名为sum的二维数组。 然后,我们使用for循环和for...each循环访问数组的每个元素。
如何在 Java 中初始化 3D 数组?
让我们看看如何在 Java 中使用 3d 数组。 我们可以初始化类似于 2d 数组的 3d 数组。 例如,
// test is a 3d arrayint[][][] test = {{{1, -2, 3},{2, 3, 4}},{{-4, -5, 6, 9},{1},{2, 3}}};
基本上,3d 数组是 2d 数组的数组。 3d 数组的行的长度也可以像 2d 数组一样变化。
示例:3 维数组
class ThreeArray {public static void main(String[] args) {// create a 3d arrayint[][][] test = {{{1, -2, 3},{2, 3, 4}},{{-4, -5, 6, 9},{1},{2, 3}}};// for..each loop to iterate through elements of 3d arrayfor (int[][] array2D: test) {for (int[] array1D: array2D) {for(int item: array1D) {System.out.println(item);}}}}}
输出:
1-23234-4-569123
