今天在做题时遇到了在for循环体中修改索引的一点问题
做了个测试,运行如下代码
public class test {
public static void main(String[] args) {
for(int i=1;i<6;i++){
System.out.println(i);
i++;
}
}
}
结果
1
3
5
debug发现,
- 当i=1时,第一次输出控制台 1 ,然后执行
System.out.println
下面的i++
,i 变为了2 - 在循环判断条件时,这个 i 就相当于上一次改变以后的值,不会影响到之后的判断,也就是 i 要首先执行
for(int i=1;i<6;i++)
中的i++
,索引 i 变成了3 - 判断边界条件
i<6
然后继续执行循环体中的代码,反复以往。