关于java中二维数组输出的问题

为什么那个表示行数和列数的是score.length和score[i].length,而不是score[i].length和score[j].length?

所谓的二维数组其实是数组的数组(每个一维数组的长度可以不同,所以二维数组也称为锯齿数组)。假设有:
int[][] arr={new int [1] {1},new int [2] {2,3},new int [3] {4,5,6}};
则二维数组arr.length等于3,表示它由3个一维数组组成,即3行。
arr[0].length表示第1个一维数组的长度1,即1列。
arr[1].length表示第2个一维数组的长度2,即2列。
arr[2].length表示第3个一维数组的长度3,即3列。
所以,这个二维数组看起来像这个样子:
1
2,3
4,5,6
它每一行的长度都不同。
对于你的二维数组,score.length表示行数4,即二维数组由4个一维数组组成。
而score[i].length、score[j].length表示第i+1行、第j+1行的列数,由于score是列数等长的二维数组,它们都等于3。score.length与score[i].length和score[j].length,3者表示不同的含义,不可混用(尽管它们的值可能相同)。
温馨提示:答案为网友推荐,仅供参考
相似回答