在 Java 中创建二维数组的语法

2022-08-31 04:28:29

考虑:

int[][] multD = new int[5][];
multD[0] = new int[10];

这就是创建具有5行和10列的二维数组的方式吗?

我在网上看到了这段代码,但语法没有意义。


答案 1

请尝试以下操作:

int[][] multi = new int[5][10];

...这是类似下面的简写:

int[][] multi = new int[5][];
multi[0] = new int[10];
multi[1] = new int[10];
multi[2] = new int[10];
multi[3] = new int[10];
multi[4] = new int[10];

请注意,每个元素都将初始化为 的默认值 ,因此上述内容也等效于:int0

int[][] multi = new int[][]{
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};

答案 2

我们可以声明一个二维数组,并在声明时直接存储元素为:

int marks[][]={{50,60,55,67,70},{62,65,70,70,81},{72,66,77,80,69}};

这里的int表示存储在数组中的整数类型元素,数组名称为“marks”。int 是“{”和“}”大括号内表示的所有元素的数据类型,因为数组是具有相同数据类型的元素的集合。

回到上面写的语句:每行元素都应该写在大括号内。行和每行中的元素应以逗号分隔。

现在观察语句:你可以得到3行和5列,所以JVM创建3 * 5 = 15个内存块。这些块可以单独称为 ta:

marks[0][0]  marks[0][1]  marks[0][2]  marks[0][3]  marks[0][4]
marks[1][0]  marks[1][1]  marks[1][2]  marks[1][3]  marks[1][4]
marks[2][0]  marks[2][1]  marks[2][2]  marks[2][3]  marks[2][4]


注意:
如果要存储 n 个元素,则数组索引从零开始,到 n-1 结束。创建二维数组的另一种方法是首先声明数组,然后使用 new 运算符为其分配内存。

int marks[][];           // declare marks array
marks = new int[3][5];   // allocate memory for storing 15 elements

通过将上述两个组合在一起,我们可以写:

int marks[][] = new int[3][5];

推荐