数组分组判断 + 下标方位判断(Java)
2026/7/23 3:43:04 网站建设 项目流程

一、数组分组判断的循环条件(核心:避免下标越界)

1. 核心规则

循环条件 =j < 数组长度(len) - (每组元素个数 - 1)→ 本质:保证「分组的最后一个元素下标 < 数组长度」,不会越界。

2. 举例验证(数组[1,2,3,4],len=4)

分组场景每组元素数循环条件有效 j 值对应分组说明(为什么不越界)
单个元素判断(无分组)1j < 4(len)0,1,2,3[1]、[2]、[3]、[4]单个元素无需预留位置
2 个元素一组(相邻两位)2j < 3(len-1)0,1,2[1,2]、[2,3]、[3,4]最后一组 j=2,j+1=3 <4
3 个元素一组(连续三位)3j < 2(len-2)0,1[1,2,3]、[2,3,4]最后一组 j=1,j+2=3 <4
4 个元素一组(连续四位)4j < 1(len-3)0[1,2,3,4]最后一组 j=0,j+3=3 <4

3. 记忆口诀

分组几元素,在for遍历中的范围条件就是i < 下标最大值 -(几 - 1);单个不用减,越界不出现。

例如:[1,2,3]

下标最大值 = 2

2个元素一组

所以遍历范围条件:i < 2 - 1


数组下标方位判断

下标方位的本质 =数组里的元素是 “从数字的哪一端开始存的”,数组只分两种存储方式:反向存储(int型)、正向存储(String型)。

第一步:先搞懂 “反向存储”

1. 反向存储怎么来?(操作步骤,看一遍就会)

拆数字时用temp % 10个位(最右边),再用temp /= 10取十位、百位… 把取到的数依次存进数组。→ 简单说:先存数字的 “最右边位”,再存往左的位

2. 下标方位(用 314、5342 两个例子,奇偶都覆盖)

j为当前遍历数值的下标

数字反向存储数组(arr)arr[j](j=0)arr[j+1](j=0)arr[j+2](j=0)arr [j+3](j=0,仅 5342)
314(3 位)[4,1,3]4(个位,最右)1(十位,中间)3(百位,最左)-
5342(4 位)[2,4,3,5]2(个位,最右)4(十位,右中)3(百位,左中)5(千位,最左)

3. 反向存储口诀

j 是右,+1 左一步,+2 左两步(j 对应数字最右边位,j+1 是数字里往左挪一位,j+2 再往左挪一位)

第二步:正向存储

1. 正向存储怎么来?

拆数字时先存最高位(最左边),再存往右的位(比如 314 先存 3,再存 1,最后存 4)。→ 简单说:先存数字的 “最左边位”,再存往右的位

2. 下标方位(同样用 314、5342)

数字正向存储数组(arr)arr[j](j=0)arr[j+1](j=0)arr[j+2](j=0)arr [j+3](j=0,仅 5342)
314(3 位)[3,1,4]3(百位,最左)1(十位,中间)4(个位,最右)-
5342(4 位)[5,3,4,2]5(千位,最左)3(百位,左中)4(十位,右中)2(个位,最右)

3. 正向存储口诀(反向口诀反过来就行)

j 是左,+1 右一步,+2 右两步

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询