• Java二维数组


    二维数组

    二维数组的应用场景:#

    但我们需要把数据分组管理的时候,就需要用到二维数组

    二维数组初始化:#

    1、静态初始化:#

    格式:

    数据类型[][]数组名 =new 数据类型[][]{{元素1,元素2},{元素1,元素2}};

    eg:#

    int [][] arr = new int[][]{{11,22},{33,44}}
    

    简化格式:#

    数据类型[][]数组名 ={{元素1,元素2},{元素1,元素2}};

    eg:#

    int[][] arr = {{11,22},{33,44}}
    

    或者:(一般不建议用)

    int arr [][] = {{11,22},{33,44}}
    

    例子:二维数组初始化#

    package com.itheima.Method;
    //二维数组初始化
    public class 二维数组加遍历 {
        public static void main(String[] args) {
            //两种方式静态初始化数组
            int[][] arr = new int[][]{{12, 25, 36}, {52, 74, 68}, {88, 32, 60}};
            int[][] arr1 = {{12, 25, 36}, {52, 74, 68},{88, 32, 60}};
            int[][] arr2 = {
                    {12, 25, 36},
                    {52, 74, 68},//每一个一维数组其实是二维数组的元素中的元素,所以每一个一维数组之间都需要用逗号隔开
                    {88, 32, 60}//最后一个一维数组后面不需要加逗号
            };
            //获取数组
    //        System.out.println(arr2[0]);//表示获取二维数组中的第一个一维数组
            //arr2[0]:表示获取二维数组中的第一个一维数组
            //arr2[0][0]:获取第1个一维数组中0索引的元素
            System.out.println(arr2[0][0]);//12
            System.out.println(arr[2][0]);//88
    

    运行结果:

    12
    88

    例子:二维数组遍历#

    package com.itheima.Method;
    //二维数组初始化
    public class 二维数组加遍历 {
        public static void main(String[] args) {
            //两种方式静态初始化数组
            int[][] arr = new int[][]{{12, 25, 36}, {52, 74, 68}, {88, 32, 60}};
            int[][] arr1 = {{12, 25, 36}, {52, 74, 68},{88, 32, 60}};
            int[][] arr2 = {
                    {12, 25, 36},
                    {52, 74, 68},//每一个一维数组其实是二维数组的元素中的元素,所以每一个一维数组之间都需要用逗号隔开
                    {88, 32, 60}//最后一个一维数组后面不需要加逗号
            };
            //遍历二维数组
            //外循环:遍历二维数组里面的一维数组
            for (int i = 0; i < arr2.length; i++) {
                //i:表示二维数组中的每一个索引
                //arr2[i]:表示以为数组中的每一个元素(一维数组)
                //内循环:遍历一维数组,得到里面的每一个元素
                for (int j = 0; j < arr2[i].length; j++) {
                    //j表示一维数组中的每一个元素
                    System.out.print(arr[i][j]+" ");
                }
                System.out.println();//换行
            }
        }
    }
    
    

    运行结果:

    12 25 36
    52 74 68
    88 32 60

    2、动态初始化:#

    格式:数据类型[][] 数组名 = new 数据类型[m][n] ;

    m:表示这个二二维数组可以存放多少个一维数组

    n:表示这每一个一维数组可以存放多少个元素

    eg:#

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

    该数组可以存放两个一维数组,每一个一维数组中可以存放三个int类型元素

    例子:#

    package com.itheima.Method;
    
    public class 二维数组动态初始化加遍历 {
        public static void main(String[] args) {
            int [][] arr = new int[3][5];
            arr[0][0] = 10;
            for (int i = 0; i < arr.length; i++) {
                for (int j = 0; j < arr[i].length; j++) {
                    System.out.print(arr[i][j]+" ");
                }
                System.out.println();
            }
        }
    }
    

    运行结果::

    10 0 0 0 0
    0 0 0 0 0
    0 0 0 0 0

    二维数组内存图:#

    二维数组的特殊情况:#

    特殊情况1:#

    特殊情况2:#

    二维数组练习

    二维数组的练习:#

    计算出某商城每个季度的总营业额和全年的总营业额

    package com.itheima.Method;
    
    /*
    二维数组的练习:
    计算出某商城每个季度的总营业额和全年的总营业额
     */
    public class 二维数组练习 {
        public static void main(String[] args) {
            int[][] yearArr = {
                    {22, 66, 44},
                    {77, 33, 88},
                    {25, 45, 65},
                    {11, 66, 99}
            };//定义一个二维数组
            int yearSum = 0;//定义一个总营业额变量。
            for (int i = 0; i < yearArr.length; i++) {
                int[] seasonArr = yearArr[i];//定义一个变量,存储每一个季度的营业额
                int sum = sumSeasonArr(seasonArr);//调用每一个季度的营业额方法
                System.out.println("第"+i+1+"个季度的营业额为:"+sum);
                yearSum +=sum;//全年总营业额
            }
            System.out.println("全年总营业额为:"+yearSum);
        }
        //定义一个方法,计算每一个季度的营业额
        public static int sumSeasonArr(int[] arr) {
            int sum = 0;//定义一个求和的变量
            for (int i = 0; i < arr.length; i++) {
                sum += arr[i];//遍历每一个季度,并求每一个季度的和
            }
            return sum;//返回变量
        }
    }
    
    

    运行结果:

    第01个季度的营业额为:132
    第11个季度的营业额为:198
    第21个季度的营业额为:135
    第31个季度的营业额为:176
    全年总营业额为:641

  • 相关阅读:
    tcp/ip该来的还是得来
    Leetcode416. 分割等和子集
    php实战案例记录(25)intval函数的用法
    el-form动态表单嵌套验证
    typescript入门之helloworld
    【论文阅读】Mastering the game of Go with deep neural networks and tree search
    一种计算整数位1个数的新方法
    JSP-Servlet
    k8s nfs-client 添加挂载参数 —— 筑梦之路
    Trino Worker 规避 OOM 思路
  • 原文地址:https://www.cnblogs.com/xiao-xiao1024/p/17364931.html