对java中的数组一直有疑问,特别是数组中尤其是多维数组的长度问题。下面通过实例来说明:
eg code:
它的输出结果是什么呢?
相信大家对一维数组没有问题,那来看看二维数组数组到底是怎么回事。
Java中多维数组其实可以看作数组的数组。初次见面,确实有点不好理解。
用例子说话吧。上例:
int b =table2[2].length;
就b的结果输出的应该是TABLE_SIZE1的值。我们知道table2是一个二维数组,而length方法取出的结果是数组中的长度而且依次取出数组中的长度,即:如果是一维数组的话,直接取出的就是一维数组的长度,如:int c =table3.length; 此时c的结果就是一维数组table3的长度即TABLE_SIZE;如果 int b =table2[2].length;换成 int b =table2.length; 此时b输出的结果是二维数组中的第一维数组的长度即TABLE_SIZE(即跟c相等) ,而如果是int b =table2[2].length,注意此时length的长度是二维数组table2的第二维数组的长度即TABLE_SIZE1 ,而且只要table2[2].这个中括号中的值x是在 0到其第一维数组的长度减1即(TABLE_SIZE-1),其table2[x].length的长度都是第二维数组的长度,以此类推,例子中a的值就是TABLE_SIZE2。
所以例子的输出结果应是:
7
6
5