在Java中你可以做到这一点
int[][] i = new int[10][];
这只是创建 10 个空的 int 数组吗?它还有其他含义吗?
它创建一个包含 10 个条目的数组int[]
。这 10 个数组引用中的每一个最初都是null
. 然后您需要创建它们(并且因为 Java 没有真正的多维数组,所以这 10int[]
个条目中的每一个都可以是任意长度)。
例如:
int i[][] = new int [10][];
i[0] = new int[42];
i[1] = new int[17];
// ...and so on
执行您的代码会创建一个大小为 10 的数组,其中的每个元素都可以包含对 a 的引用int[]
,但它们都被初始化为 null。
为了使用int[]s,您必须为每个元素创建新的 int[],如下所示:
for (int n = 0; n < 10; n++)
i[n] = new int[10]; // make them as large as you need
是的,它确实; 但是,这些数组中的每一个都是空的。然后,您必须初始化每个子数组,方法是说 int[10][0] = new int[MY_SIZE] 或类似的东西。您可以在主数组中拥有不同长度的数组;例如,此代码将起作用:
int[][] i = new int[10][];
for(int ind = 0; ind<10;ind++){
i[ind]=new int[ind];
}
它只是一个数组数组。
在这里,您创建了十个new int[0]
数组。您必须手动初始化它,当您不需要方阵时它很有用:
int[][] array = new int[10][];
for (int i = 0; i < array.length; i++) {
array[i] = new int[i];
}
如果你需要方阵,你可以这样做:
int[][] array = new int[10][10];
它将使用默认值进行初始化。
那只是声明,您需要对其进行初始化。这 10 个数组最初为空。