Java创建二维数组的语法

新手上路,请多包涵

考虑:

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

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

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

原文由 AppSensei 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 472
2 个回答

尝试以下操作:

 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 }
};

原文由 obataku 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

 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 个内存块。这些块可以单独称为:

 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];

原文由 Indu Joshi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题