Java入门(五)(二维数组,Arrays类)

1.在Java中对于数组的数组我们称之为二维数组。

二维数组:类型说明符 数组名[常量表达式][常量表达式]。

二维数组又称为矩阵,行列数相等的矩阵称为方阵。

对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素

①二维数组的定义:

        int a[][] = new int[5][5];
        int b[][];
        b = new int[3][2];
        a[0][0]=1;
        int[][] c = {{1, 2}, {3, 4}, {5}};

类似于一维数组,我们可以在{}内进行直接定义,注意当我们通过{}来定义数组的时候比须写在一行里面。

②二维数组赋值和遍历

例:我们对于5个学生和其对应的5门课的成绩进行循环赋值和遍历。

        int[][] a = new int[5][5];
        int total = 0;
        for (int i = 0; i < a.length; i++) {
            int sum = 0;
            for (int j = 0; j < a[i].length; j++) {
                a[i][j] = (int) (Math.random() * 100);
                sum += a[i][j];
            }
        }
        for (int i = 0; i < a.length; i++) {
            System.out.println(Arrays.toString(a[i]));
        }
        for (int i = 0; i < a.length; i++) {
            int sum = 0;
            for (int j = 0; j < a[i].length; j++) {
                sum += a[i][j];
            }
            total += sum;
            System.out.println((i + 1) + "班级的总分为:" + sum);
        }
        System.out.println("总分为:" + total);

    }

 

2.Arrrays类的说明和使用

java.util.Arrays类是java.util包提供的工具类

Arrays类提供操作数组的方法,如:排序查询

Arrays类的sort()方法:对数组进行升序排列

Java入门(五)(二维数组,Arrays类)_第1张图片

                                                                      图       Arrays类方法详解

 

为什么学习多维数组?多维数组需要注意的几点。

三维及以上的数组很少使用

主要使用二维数组 从语法上Java支持多维数组

从内存分配原理的角度讲,只有一维数组

 

二维数组部分练习:

①已知有3个班级各5名学员,请使用   二维数组计算各个班级的总成绩

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a[][] = new int[3][5];
        for (int i = 0; i < a.length; i++) {
            System.out.println("-----------------第" + (i + 1) + "个班----------------");
            for (int j = 0; j < a[i].length; j++) {
                System.out.print("请输入第" + (j + 1) + "个学生的成绩:");
                a[i][j] = sc.nextInt();
            }
        }
        System.out.println("------------------成绩统计-------------------");
        for (int i = 0; i < a.length; i++) {
            int sum = 0;
            for (int j = 0; j < a[i].length; j++) {
                sum += a[i][j];
            }
            System.out.println(i + "班总成绩为:" + sum);
        }
    }

 输入输出为:

-----------------第1个班----------------
请输入第1个学生的成绩:66
请输入第2个学生的成绩:12
请输入第3个学生的成绩:56
请输入第4个学生的成绩:81
请输入第5个学生的成绩:20
-----------------第2个班----------------
请输入第1个学生的成绩:15
请输入第2个学生的成绩:12
请输入第3个学生的成绩:151
请输入第4个学生的成绩:125
请输入第5个学生的成绩:1
-----------------第3个班----------------
请输入第1个学生的成绩:15
请输入第2个学生的成绩:12
请输入第3个学生的成绩:45
请输入第4个学生的成绩:415
请输入第5个学生的成绩:1
------------------成绩统计-------------------
0班总成绩为:235
1班总成绩为:304
2班总成绩为:488

 

谢谢观看!!希望喜欢的朋友关注,点赞。作者会持续发布Java 0基础入门教程。

你可能感兴趣的:(Java入门(五)(二维数组,Arrays类))