学科分类
目录
Java基础

多维数组

在程序中可以通过一个数组来保存某个班级学生的考试成绩,试想一下,如果要统计一个学校各个班级学生的考试成绩,又该如何实现呢?这时就需要用到多维数组,多维数组可以简单地理解为在数组中嵌套数组。在程序中,比较常见的多维数组是二维数组,接下来本小节将针对二维数组进行详细地讲解。

二维数组可以被看作是特殊的一维数组,其定义有很多方式,接下来针对几种常见的方式进行详细地讲解,具体如下:

第一种方式,指定二维数组的长度和每个数组的元素个数,其基本语法格式如下:

int[][] arr = new int[3][4];

上面的代码相当于定义了一个34的二维数组,这个二维数组的长度为3,我们可以将它看成3个int[]类型的一维数组,每个一维数组中的元素又是一个长度为4的一维数组。接下来通过一个图来表示这种情况,如图1所示。

图1 二维数组

第二种方式,只指定二维数组的长度,不确定每个数组的元素个数,其基本语法格式如下:

int[][] arr = new int[3][];

第二种方式和第一种类似,只是数组中每个元素的长度不确定,接下来通过一个图来表示这种情况,如图2所示。

图2 二维数组

第三种方式,直接使用嵌套大括号“{}”,对二维数组初始化赋值,其基本语法格式如下:

int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};

上面的二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9},接下来通过一个图来表示这种情况,如图3所示。

图3 二维数组

对二维数组中元素的操作也是通过角标的方式来完成的,具体示例代码如下:

arr[0][1];  // 获取二维数组中第一个元素组的第二个元素
arr[0][1]=1; // 对二维数组中第一个元素组的第二个元素赋值或修改

接下来通过一个统计公司三个销售小组中每个小组的总销售额,以及整个公司销售额的案例来熟悉二维数组的使用,如文件1所示。

文件1 Example25.java

 1    public class Example25 {
 2        public static void main(String[] args) {
 3            int[][] arr = new int[3][];          // 定义一个长度为3的二维数组
 4            arr[0] = new int[] { 11, 12 };       // 为数组的元素赋值
 5            arr[1] = new int[] { 21, 22, 23 };
 6            arr[2] = new int[] { 31, 32, 33, 34 };
 7            int sum = 0;                              // 定义变量记录总销售额
 8            for (int i = 0; i < arr.length; i++) {    // 遍历数组元素
 9                int groupSum = 0;                     // 定义变量记录小组销售总额
 10                for (int j = 0; j < arr[i].length; j++) { 
 11                    groupSum += arr[i][j];
 12                }
 13                sum +=groupSum;                        // 累加小组销售额
 14                System.out.println("第" + (i + 1) + "小组销售额为:" 
 15                                         + groupSum + " 万元。");
 16            }
 17            System.out.println("总销售额为: " + sum + " 万元。");
 18        }
 19    }

运行结果如图4所示。

图4 运行结果

文件1中,第3行代码定义了一个长度为3的二维数组,并在4~6行代码中为数组的每个元素赋值。文件中还定义了两个变量sum和groupSum,其中sum用来记录公司的总销售额,groupSum用来记录每个销售小组的销售额。当通过嵌套for循环统计销售额时,外层循环对三个销售小组进行遍历,内层循环对每个小组员工的销售额进行遍历,内层循环每循环一次就相当于将一个小组员工的销售总额统计完毕,赋值给groupSum,然后把groupSum的值与sum的值相加赋值给sum。当外层循环结束时,三个销售小组的销售总额groupSum都累加到sum中,即统计出了整个公司的销售总额。

点击此处
隐藏目录