int A[2][3]={{1,2,3},{4,5,6}};
一个二维数组存储在内存中,如下所示。第 0 行中的条目首先存储,然后是第 1 行,依此类推。
二维数组被表示为一个连续的 n 个块,每个块的大小为 m(即每个块中可以保存 m 个整数(或任何数据类型))。条目存储在内存中,如上所示。这里n代表行数,m代表列数。
在 Java 中:
与所有数组一样,必须使用 new 关键字为数组分配内存。例如,
int[][] a = new int[2][4];
这个二维数组将有两行和四列。这实际上分配了 3 个对象:一个由 2 个元素组成的一维数组来保存每个实际的行数组,以及两个由 4 个元素组成的一维数组来表示行的内容。
+-----+ +-----+-----+-----+-----+
|a[0] | -> | [0] | [1] | [2] | [3] |
| | +-----+-----+-----+-----+ In Java two-dimensional arrays are implemented is a
one-dimensional array of one-dimensional arrays -- like this.
+-----+
| | +-----+-----+-----+-----+
|a[1] | -> | [0] | [1] | [2] | [3] |
+-----+ +-----+-----+-----+-----+
在你的情况下:
double[][] array2D = new double [max][1]
这实际上分配了 max+1 个对象:一个包含 max 元素的一维数组来保存每个实际的行数组,以及一个包含 1 个元素的 max 一维数组来表示行的内容。
如果我错了,请告诉我。