数组在Java基础里面的运用还是蛮多的,之前在学习的过程中,发现了这么一个小问题
public class Test1 {
public static void main(String[] args) {
int[][] a = new int[10][11];
System.out.println("a.length="+a.length);
System.out.println("a[0].length="+a[0].length);
}
}
输出的结果如下:
a.length=10
a[0].length=11
可以看到,多维数组和一维数组其实是一个鸟样,总的来说,并没有什么区别;
设置断点之后,可以看到a的值长成这样,完全可以把它当做一个一维数组去看:
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
同样的a[0]:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
所以如果要深刻一点的理解这样的多维数组,那么多维数组,就像是俄罗斯套娃,一层一层的打开,里面其实都是一个样子,只是大小不同罢了。