5.4 二维数组

二维数组就是数组的每个元素都是一个数组,确定一个元素需要两个下标,就好比平面坐标系的x和y轴。 还有比二维更多的数组,例如三维和n维,这里不讨论。 这就是一个二维数组的定义:
int[][]arr=new int[6][7];
我们用一个表格来加深理解
a[0][0]
a[0][1]a[0][2]a[0][3]a[0][4]a[0][5]a[0][6]
a[1][0]
a[1][1]a[1][2]a[1][3]a[1][4]a[1][5]a[1][6]
a[2][0]a[2][1]a[2][2]a[2][3]a[2][4]a[2][5]a[2][6]
a[3][0]a[3][1]a[3][2]a[3][3]a[3][4]a[3][5]a[3][6]
a[4][0]a[4][1]a[4][2]a[4][3]a[4][4]a[4][5]a[4][6]
a[5][0]a[5][1]a[5][2]a[5][3]a[5][4]a[5][5]a[5][6]
此外还可以不指定第二个维度,但是在赋值的时候就需要定义第二个维度:
int[][]arr=new int[8][];
arr[4]=new int[5];
arr[4][3]=8;
(1)只有定义了那一行,才能在给该行的元素赋值,例如上面的代码假如接下来访问arr[5][3] = 8;就会显示错误,因为arr[5]并未定义
(2)每行的维度可以不一样,虽然真的这样做比较少。