多维数组,其实只是数组元素依然是数组的1维数组:
2维数组是数组元素为1维数组的数组,
3维数组是数组元素为2维数组的数组,
……
N维数组是数组元素为N-1维数组的数组。
java允许将多维数组当做1维数组处理。初始化多维数组时,可以先只初始化最左边的维数,此时该数组的每个元素都相当于一个数组引用变量,这些数组元素还需要进一步初始化。
public class ArrayDemo2 {
public static void main(String[] args) {
int[][] a ;
a = new int[4][];
for(int i = 0 ; i < a.length ; i ++){
System.out.println(a[i]);
}
//初始化a数组的第一个元素
a[0] = new int[2];
//初始化a[0]数组的第一个元素
a[0][0] = 1 ;
for(int i = 0 ; i < a[0].length ; i ++){
System.out.println(a[0][i]);
}
}
}
/*out:
null
null
null
null
1
0*/
代码运行结果分析:
二维数组a[4][]被当成一维数组处理,只是每个数组元素都是null,故输出结果为4个null。在二维数组a的一个元素a[0]中,开辟长度为2的一维数组,给a[0][0]赋1,a[0][1]又系统默认,故输出结果为1、0。