• 12、JAVA入门——二维数组


    目录

    1、二维数组

    2、二维数组的使用

    1、二维数组
    (1)Java中操作多位数组的语法与一维数组类似。在实际应用中,三维以上的数组很少使用,主要使用二维数组。

        (2)二维数组是一个元素为一维数组的一维数组。
    
        (3)从语法上Java支持多维数组,但从内存分配原理的角度看,Java中只有一维数组,没有多维数组。或者说,从表面上是多维数组,实质上都是一维数组。
    
        (4)定义二维数组的语法格式如下:
    
                        数据类型[][] 数组名;
    
                  或者:
    
                         数据类型 数组名[][];
    
                           --->数据类型为数组元素的类型。
    
                           --->“[][]”用于表明定义了一个二维数组,通过多个下标进行数据访问。
    
                           --->“数组名[下标]”表示二维数组里的一个元素,这个元素还是一个一维数组。
    
                           --->“数组名[下标][下标]”表示二维数组里的一个元素(一维数组)里的一个元素。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    public static void main(String[] args) {

    // 二维数组声明: 数据类型[][] 数组名; 或者 数据类型 数组名[][];
    int[][] nums;
    String[][] strs;
    
    // 分配空间: 数组名 = new 数据类型[数组长度][数组长度]; 或 数组名 = new 数据类型[数组长度][];
    nums = new int[3][5];// nums是一个长度为3的二维数组,这个二维数组里的元素都是一个长度为5的一维数组
    strs = new String[5][]; // strs是一个长度为5的二维数组,这个二维数组里的元素长度不相同
    
    //赋值:  数组名[下标][下标] = 数据;
    nums[0][0] = 10;
    nums[0][1] = 20;
    nums[0][2] = 30;
    nums[0][3] = 40;
    nums[0][4] = 50;
     
    nums[1][0] = 100;
    nums[1][1] = 200;
    nums[1][2] = 300;
    nums[1][3] = 400;
    nums[1][4] = 500;
     
    nums[2][0] = 10;
    nums[2][1] = 20;
    nums[2][2] = 30;
    nums[2][3] = 40;
     
    //操作数据:数组名[下标][下标]
    System.out.println(nums[1][2]);
    nums[2][0]+=50;
    System.out.println(nums[2][0]);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    }
    2、二维数组的使用
    (1)初始化二维数组

                二维数组初始化的语法格式如下:
    
               数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}}; 
    
                或者:
    
                数据类型[][] 数组名 = {{元素1,元素2,···,元素n},{元素1,元素2,···,元素n},···,{元素1,元素2,···,元素n}};
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    public static void main(String[] args) {
    //二维数组声明、分配空间合并写: 数据类型[][] 数组名 = new 数据类型[长度][长度]; 或 数据类型[][] 数组名 = new 数据类型[长度][];
    int[][] nums = new int[3][4];
    char[][] chs = new char[5][];

    //二维数组声明、分配空间、赋值合并写:
    //数据类型[][] 数组名 = new 数据类型[][]{{数据1,数据2,...,数据n},{数据1,数据2,...,数据m},....,{数据1,数据2,...,数据k}};
    boolean[][] bools = new boolean[][]{{true},{true,false},{false,false,true,false}};
     
    //二维数组声明、分配空间、赋值合并写的简写方式
    //数据类型[][] 数组名 = {{数据1,数据2,...,数据n},{数据1,数据2,...,数据m},....,{数据1,数据2,...,数据k}};
     
    float[][] floats ={{12.5F},{99.5F,55.5F},{99.9F},{10.5F,12.5F,85.5F,56.3F,78.5F}};
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    }
    (2)二维数组的遍历

                格式如下:                
    
                for(int i = 0;i<数组名.length;i++){
                        for(int j = 0;j<数组名[i].length;j++){
                                System.out.println(数组名[i][j]);
    
                        }
    
                } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    public static void main(String[] args) {
    // 要求对3个班各6名学生某门课程的成绩进行各种操作,如何实现?

    // 声明一个长度为3的二维数组,这个二维数组里的元素都是长度为6的一维数组
    int[][] scores = { { 99, 86, 75, 94, 45, 60 },
            { 100, 78, 55, 86, 94, 30 }, { 100, 99, 88, 66, 77, 89 } };
    
    // 遍历这个二维数组
    for (int i = 0; i < scores.length; i++) {
        // System.out.println(scores[i]);//scores[i]还是一个一维数组,这个一维数组里存储的是各个班级学生的成绩,输出scores[i]输出的是这个一维数组的地址值,我们需要将这个一维数组里的元素取出来
    
        // 声明一遍变量来累加各个班的成绩之和:
        int sum = 0;
        System.out.println("第" + (i + 1) + "个班学生成绩分别是:");
        for (int j = 0; j < scores[i].length; j++) {
            System.out.print("第" + (j + 1) + "名学生成绩:");
            System.out.println(scores[i][j]);
            sum += scores[i][j];
        }
        System.out.println("第" + (i + 1) + "个班学生成绩之和是:" + sum);
        int avg = sum / scores[i].length;
        System.out.println("第" + (i + 1) + "个班学生平均成绩是:" + avg);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    }
    码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识,请关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。
    文章转自:12、JAVA入门——二维数组_Java-答学网

    作者:答学网,转载请注明原文链接:http://www.dxzl8.com/

  • 相关阅读:
    Git 2.37 发布,带来重大变化!!
    log4j日志漏洞问题
    【牛客】VL74 异步复位同步释放
    3DMAX一键生成螺母和螺栓插件使用教程
    gitlab 保姆级重置管理员密码
    动态增删kdtree(ikdtree)主要思路
    .NET性能优化-推荐使用Collections.Pooled(补充)
    聊一聊,今年参加软考高级的一些总结
    van-cascader 异步加载
    关于写一个read_file的很多个为什么&如何用
  • 原文地址:https://blog.csdn.net/zl5186888/article/details/126803083