(1)int[][] arr = new int [3][4]
s.o.p (arr[0]); //此时输出的是一维数组的地址
(2)int[][] arr =new int [3][]
s.o.p (arr[0]); //此时输出的是null
数组是引用数据类型,第二种情况中,3个一维数组都默认初始化值为null
疑问:可不可以这样理解:
第一种情况确定了每个一维数组的长度,所以全都初始化为0,故arr[0]指向了一个初始化值为{0,0,0,0}的数组,故显示的是它的地址;
第二种情况不确定每个一维数组的长度,没办法指向一个确定的数组的地址,故初始化值为null;
这样理解有没有什么问题 |