二维数组

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支持多维数组
从内存分配原理的角度讲,只有一维数组
二维数组部分练习:
①已知有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);
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值