3.1小节介绍的数组都是把数组元素从逻辑上排成一行,因此它们被称为“一维数组”。如果一个班级内有15个学生,这些学生按照身高又分成3排就坐,其排列形式如图3-2所示:
3-2学生身高排列图
如果程序员希望按照每个学生在班级内的位置来存储他们的身高数据该怎么办呢?一些读者想到可以创建a、b、c 3个数组来存储这3排学生的身高值。如果采用这样的方式解决问题,每当要打印某个学生的身高时,就必须先要判断该学生的身高值位于哪一个数组之内,这显然会增加程序的复杂度,并且从逻辑上也无法体现出这3排学生是一个整体,他们属于同一个班级。
那么,有没有一种“高级数组”,它既能够把3组身高存数据储在一起,又能使任意一组身高值独立于另外两组数据呢?在Java语言中,确实存在这样能满足需求的“高级数组”,专业上把这种数组称为“二维数组”。二维数组的结构如图3-2所示,它可以分为N行M列。二维数组有行和列两个维度,为了能够体现出二维数组有两个维度,在声明它的时候要用两对方括号,语法格式如下: