4.4 二维数组相关内容

二维数组

二维数组本质是一维数组的叠加,二维数组的所有元素都是引用类型,这些元素分别指向不同的一维数组,其内存结构和之前介绍的一维数组类似。例如,二维数组 arr 指向了由 arr[0]、arr[1]和 arr[2] 组成的数组,而 arr[0]、arr[1]和 arr[2] 自身也是一维数组。也就是说,arr[0]、arr[1]和 arr[2] 三者既是二维数组的数组元素,又各自是一个独立的一维数组,如果把地址看做钥匙,引用(可认为是变量名)可看做钥匙盒。

arr[0]、arr[1]和arr[2] 是二维数组的三个元素,这三个钥匙盒是并排的。
arr[0]、arr[1]和arr[2] 所引用的是三个独立的数组,由于 new 操作符总是开辟新的空间且无法保证连续,arr[0]、arr[1]和arr[2] 中的“钥匙”(即地址)不是连续的,如图所示。

图片描述

二维数组的赋值和使用与一维数组类似,都是通过下标访问数组元素,不同的是一维数组只有一个下标,而二维数组有两个下标,分别表示该元素所在数组的行数和列数。例如 arr[0][3],其表示的是数组 arr 中第 1 行第 4 列的元素。

在声明并创建数组(int[][] arr = new int[3][4];)之后,可使用的数组下标范围为:arr[0][0]~arr[2][3],这一点和一维数组类似,需要注意数组下标越界的问题。

同一维数组一样,二维数组在创建的时候也可以初始化,例如:

int[][] arr1= {{2,3},{1,5},{3,9}};//初始化一个3行2列的整型二维数组
int[][] arr2= {{1,2,3},{1,5},{3,9}};//初始化一个3行的整型二维数组

其中,数组 arr2 第一行有 3 个元素,第二行和第三行都有 2 个元素,对于这类每行元素个数不同的二维数组,在使用时尤其需要注意数组下标越界的问题。

如何遍历二维数组?二维数组是二维的,是由“行”和“列”构成的。因此,只需要先遍历每一行,然后再遍历每一行中的每一列即可。其中的“行”,就是构成二维数组的元素:一维数组。遍历二维数组的伪代码如下所示。

//遍历二维数组的每一行
for (int i = 0; i < 二维数组.length; i++) {
     //遍历每一行中的每一列
    for (int j = 0; j < 二维数组[i].length; j++) {
        //二维数组[i][j]
    }
}

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值