如下代码静态初始化了一个不规则数组。
int intArray[][] = {
{1,2}, {11}, {21,22,23}, {31,32,33}};
动态初始化不规则数组比较麻烦,不能使用 new int[4][3] 语句,而是先初始化高维数组,然后再分别逐个初始化低维数组。代码如下:
int intArray[][] = new int[4][]; //先初始化高维数组为4
// 逐一初始化低维数组
intArray[0] = new int[2];
intArray[1] = new int[1];
intArray[2] = new int[3];
intArray[3] = new int[3];
class test09
{
public static void main(String[] args)
{
int intArray[][] = new int[4][]; //初始化高维数组为4
//逐一初始化低维数组
intArray[0] = new int[2];
intArray[1] = new int[1];
intArray[2] = new int[3];
intArray[3] = new int[3];
//for 循环遍历
for(int i = 0; i < intArray.length; i++){
for(int j = 0; j < intArray[i].length; j++){
intArray[i][j] = i + j;
}
}
//for-each循环遍历
for(int[] row : intArray){
for(int val : row){
System.out.print(val + "\t");
}
System.out.println();
}
}
}