我有一个循环,使用continue
跳过单次迭代:
for(int i=0;i<5;i++){
if(i==2){
continue;
}
System.out.println(i);
}
输出为0 1 3 4
根据我的上述标准,例如i == 2,我希望获得输出0 1 4
。
意思是我想跳过2次迭代。我该怎么做?
答案 0 :(得分:4)
for(int i=0;i<5;i++){
if(i==2){
i++
continue;
}
System.out.println(i);
}
在if语句中逐个增加i。
答案 1 :(得分:2)
我会远离跳过某些计数器的循环。你从中获得了什么?含义:
for (int i=0; i < 5; i++) {
if (i != 2 && i != 3) {
// do whatever needs to be done
}
}
实现完全相同的事情;没有引入隐含的“goto”逻辑。为什么用这种方式操纵控制流 - 没有必要?
答案 2 :(得分:1)
你可以这样做:
for (int i = 0; i < 5; i++) {
if (i == 2)
i += 2;
System.out.println(i);
}
但我同意其他人认为改变这样的循环变量是个坏主意。