首先要知道java中的数组是线性排列的
其次要知道数组的初始标度为0
例如定义了一个二维数组 a[1][2],则数组详细为
1 【0】【0】; 【0】【1】; 【0】【2】; 2 【1】【0】; 【1】【1】; 【1】【2】; 复制代码
共6个数组元素
所以可知:
【1】是为行,共两行(因为是从0开始数起)
【2】是 列,共3️列(因为是从0开始数起)
因此我们这时再看这道题:
定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为多少?
案例分析:
首先行限制在3行内,所以在三行内的所有元素都满足即为
3*7=21个元素
其次列限制在 4列内,所以在第4列时就只有 【3】【0】;【3】【1】【3】【2】;【3】【3】;所以共4个
(【3】【4】;这个就不是a[3][4]前的数组元素了)
因此一共有21+4=25个元素;
详细可看
1 a[0][0] a[0][1] a[0][2] a[0][3] a[0][4] a[0][5] a[0][6]
2 a[1][0] a[1][1] a[1][2] a[1][3] a[1][4] a[1][5] a[1][6]
3 a[2][0] a[2][1] a[2][2] a[2][3] a[2][4] a[2][5] a[2][6]
4 a[3][0] a[3][1] a[3][2] a[3][3]
其实二维数组是线性排列起来的。
所以a[3][4]之前的是0.1.2行的所有,外加3行的0.1.2.3列
快速计算这种题(叉乘加法)
例如:定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数
定义【6】【7】求【3】【4】前的数组元素
计算过程
用所求的行乘以定义的列,再加上所求的行=前数组元素
3*7+4=21
自己总结的,也挺好用
再看一题
定义了int型二维数组a[5][7]后,数组元素a[2][5]前的数组元素个数
叉乘加法:
定义的【5】【7】
所求的【2】【5】前
2*7+5=19个