day_7/13(二维数组的定义、初始化和使用)

        前面学了一维数组,先来复习一下,一维数组的定义有两种方式,int arr[]和int [] arr,初始化也有两种方式,分为动态初始化和静态初始化,动态初始化:int []arr = new int [3],,这表示创建一个数据类型为int的长度为3的数组,它是由创建者给出长度,系统给出默认赋值,如果后面没有给数组里面赋值的话,系统会给它默认值0,这是int数据类型数组的默认值,静态初始化,int [] arr = {1,2,3,},这句语句和刚刚一样,也表示创建一个数据类型为int长度为3的数组,但有一点不同,它是由创建者给定初值,系统确定长度的。

 

上面的数组可以这样理解

下面来介绍二维数组,一维数组里面放的是定义的数据类型的数据,而二维数组放的是一维数组,如图

 这个名叫arr的二维数组里面放了三个一维数组,名字分别为arr[0]、arr[1]、arr[2]。

        二维数组的定义和初始化与一维数组的定义和初始化基本一致,定义也有两种方式:

第一种:

        数据类型 变量名 [][];

第二种:

        数据类型 [][] 变量名;

初始化也分动态初始化和静态初始化:

动态初始化:

        int [][] arr = new int[3][3];   这条语句表示这个二维数组可以存放三个一维数组,每个一维数组可以存放3个int类型的元素。

静态初始化:

,        int [][] arr = {{1,2,3},{4,5,6},{7,8,9}};    这条语句表示这个二维数组里存放了3个存放着3个int类型的元素的一维数组。

介绍了定义和初始化,现在来看两个例题:

eg1:已知一个二维数组 arr = {{11,22,33},{44,55,66}},遍历该数组,取出所有元素并打印。

分析:从前面的介绍我们知道了,这是一个存放着两个存放着三个int类型的元素的一维数组的二维数组,那么我们如何取出里面的元素呢,很简单,先把一维数组一个一个取出来,再把元素一个一个取出来就可以了啊,代码如下:

public class Test {
    public static void main(String[] args) {
        //把题目里面的数组抄过来,静态初始化方式
        int [][] arr = {{11,22,33},{44,55,66}};
        //逐个取出一维数组
        for (int i = 0; i < arr.length; i++) {
            //逐个取出当前一维数组里面的元素
            for (int j = 0; j < arr[i].length; j++) {
                //打印当前元素,注意这里不换行,加个制表符,好看的同时便于观察和查找元素
                System.out.print(arr[i][j]+"\t");
            }
            //打印完一个一维数组里面所有的元素后,换行,一行显示一个一维数组里面的元素
            System.out.println();
        }
    }
}

运行效果如下:

eg2:某公司季度和月份统计的数据如下:单位(万元)
        第—季度:22,66,44
        第二季度:77,33,88                                                                                                                          第三季度:25,45,65                                                                                                                          第四季度:11,66,99

用二维数组将如上数据存储起来,输出求和结果和每个月份统计的数据。

分析:和上面的例子一样,数据已给出,使用静态初始化方式初始化,之后和上一题一样,打印出来,但要多定义一个变量sum,用于求和,代码如下:

public class Test {
    public static void main(String[] args) {
        //同理,静态初始化数组
        int salesVolume[][] = {{22, 66, 44}, {77, 33, 88}, {25, 45, 65}, {11, 66, 99}};
        //定义存储求和结果的变量sum
        int sum = 0;
        //逐个取出一维数组
        for (int i = 0; i < salesVolume.length; i++) {
            //逐个取出当前一维数组里面的元素
            for (int j = 0; j < salesVolume[i].length; j++) {
                //打印输出当前元素
                System.out.print(salesVolume[i][j] + "\t");
                //把当前元素加到sum里面
                sum += salesVolume[i][j];
            }
            //换行
            System.out.println();
        }
        //输出求和结果
        System.out.println("该公司的年统计数据求和结果为" + sum);
    }
}

运行效果如下:
 

今天就讲到这了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值