4.4 二维数组

4.4 二维数组

  二维数组的定义格式:

    第一种方式:

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

上面的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组,接下来通过一个图来表示这种情况,如下图所示。

               

    第二种方式:

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

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

                

    第三种方式:

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

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

                

对二维数组中元素的访问也是通过角标的方式,如需访问二维数组中第一个元素数组的第二个元素,具体代码如下:

            arr[0][1];


  二维数组的访问:

实例代码:

class ArrayDemo08 {

    publicstatic void main(String[] args){

        //定义二维数组的方式

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

        System.out.println(arr );

        System.out.println("二维数组的长度: " + arr.length);

        //获取二维数组的3个元素

        System.out.println(arr[0] );

        System.out.println(arr[1] );

        System.out.println(arr[2] );

        System.out.println("打印第一个一维数组的元素值");

        System.out.println(arr[0][0] );

        System.out.println(arr[0][1] );//访问的为二维数组中第1个一维数组的第2个元素

        System.out.println(arr[0][2] );

        System.out.println(arr[0][3] );

        System.out.println("打印第二个一维数组的元素值");

        System.out.println(arr[1][0] );

        System.out.println(arr[1][1] );

        System.out.println(arr[1][2] );

        System.out.println(arr[1][3] );

        System.out.println("打印第三个一维数组的元素值");

        System.out.println(arr[2][0] );

        System.out.println(arr[2][1] );

        System.out.println(arr[2][2] );

        System.out.println(arr[2][3] );

    }

}

运行结果:

                                  


  二维数组元素遍历与累加:

实例代码:

class ArrayDemo09 {

    publicstatic void main(String[] args){

        //一维数组的求累加和并遍历

        int[]arr = {10,20,30,40,50};

        int sum = 0;

        for(int i=0; i<arr.length; i++) {

             //System.out.println(arr[i]);

            sum+= arr[i];

        }

        System.out.println("sum=" + sum);

        System.out.println("---------------------");

       

//二维数组的求累加和并遍历

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

        intsum2 = 0;

        for(int i=0; i<arr2.length; i++) {

            for(int j=0; j<arr2[i].length; j++) {

                 //System.out.println(arr2[i][j])

                sum2+= arr2[i][j];

            }

        }

        System.out.println("sum2="+ sum2);

    }

}

运行结果:

                                     


  练习:

    例如要统计一个公司三个销售小组中每个小组的总销售额以及整个公司的销售额。如下所示

l  第一小组销售额为{11, 12}万元

l  第二小组销售额为{21, 22, 23}万元

l  第三小组销售额为{31, 32, 33, 34}万元。

实例代码:

 1  public class ArrayDemo10 {

 2      public static voidmain(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         

 8          int sum =0; // 定义变量记录总销售额

 9          for (int i = 0; i < arr.length;i++) { // 遍历数组元素

 10             int groupSum =0; // 定义变量记录小组销售总额

 11             for (int j = 0; j < arr[i].length; j++) { // 遍历小组内每个人的销售额

 12                 groupSum = groupSum + arr[i][j];

 13             }

 14             sum = sum + groupSum; // 累加小组销售额

 15             System.out.println("" + (i + 1) + "小组销售额为:" + groupSum + " 万元");

 16         }

 17         System.out.println("总销售额为: " + sum + " 万元");

 18     }

 19 }


运行结果:

                                 

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值