
上QQ阅读APP看书,第一时间看更新
4.2.3 嵌套循环存取二维数组
二维数组有两个维度,在访问数组元素时要通过两个下标来访问。因为数组的下标具有连续性的特点,所以可以通过循环嵌套的方式来访问二维数组的每个元素。
接下来,通过循环嵌套的方式为一个3行2列的二维数组赋值,并用循环嵌套的方式输出存入的数据,如例4-7所示。
【例4-7】 Demo0407.java

程序的运行结果如下:
请输入第1个学生的第1门课成绩: 23 请输入第1个学生的第2门课成绩: 34 请输入第2个学生的第1门课成绩: 45 请输入第2个学生的第2门课成绩: 56 请输入第3个学生的第1门课成绩: 67 请输入第3个学生的第2门课成绩: 87 ==================== 第1个学生的第1门课成绩是:23 第1个学生的第2门课成绩是:34 第2个学生的第1门课成绩是:45 第2个学生的第2门课成绩是:56 第3个学生的第1门课成绩是:67 第3个学生的第2门课成绩是:87
例4-7中,先定义了一个输入扫描器对象(Scanner),用于接收从键盘输入的数据。接着,定义了一个3行2列的整型二维数组,用于存储3个学生两门课程的成绩。然后使用嵌套循环实现二维数组元素的赋值。scores.length是第1层循环的终止条件,它表示的是数组第一维度数组的长度。scores[i].length是第2层循环的终止条件,它表示的是数组第二维度的长度。在第2层循环内部,使用 scores[i][j]表示访问到的某个二维数组元素,用于存储用户通过键盘输入的数据。嵌套循环结束后,这个二维数组的所有元素都会被赋值。接下来,通过另外一个嵌套循环,将二维数组内的所有元素逐一打印输出。
知识点拨:Java中的多维数组本质上是在数组中存储数组,是在一维数组的基础上衍生出来的,因此理论上可以定义任何维度的数组。定义二维数组时需要使用两个中括号“[ ][ ]”,以此类推,定义三维、四维数组只要定义对应个数的中括号即可。