我第一次看到这个关键字,我想知道是否有人可以向我解释它是做什么的。
continue关键字是什么? 它是如何工作的? 什么时候使用?
我第一次看到这个关键字,我想知道是否有人可以向我解释它是做什么的。
continue关键字是什么? 它是如何工作的? 什么时候使用?
当前回答
如果你把循环体看作子程序,continue就有点像return。同样的关键字在C中也存在,而且用途相同。这里有一个人为的例子:
for(int i=0; i < 10; ++i) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
这将只打印奇数。
其他回答
Continue有点像goto。你熟悉break吗?我们可以比较容易地对比一下:
Break终止循环(跳转到它下面的代码)。 Continue终止当前迭代循环中代码的其余处理,但继续循环。
continue语句用于循环控制结构中,当您需要立即跳转到循环的下一个迭代时。
它可以与for循环或while循环一起使用。 Java continue语句用于继续循环。它继续程序的当前流程,并在指定条件下跳过剩余的代码。
对于内循环,它只继续内循环。
我们可以在所有类型的循环中使用Java continue语句,例如for循环、while循环和do-while循环。
例如
class Example{
public static void main(String args[]){
System.out.println("Start");
for(int i=0; i<10; i++){
if(i==5){continue;}
System.out.println("i : "+i);
}
System.out.println("End.");
}
}
输出:
Start
i : 0
i : 1
i : 2
i : 3
i : 4
i : 6
i : 7
i : 8
i : 9
End.
[5 .跳过]
如前所述,continue将跳过处理它下面的代码,直到循环结束。然后,您将移动到循环的条件,如果这个条件仍然成立,则运行下一次迭代(或者如果存在标志,则运行到所示循环的条件)。
必须强调的是,在do - while的情况下,您将被移动到continue之后的底部条件,而不是在循环的开始。
这就是为什么很多人不能正确回答下面的代码将生成什么。
Random r = new Random();
Set<Integer> aSet= new HashSet<Integer>();
int anInt;
do {
anInt = r.nextInt(10);
if (anInt % 2 == 0)
continue;
System.out.println(anInt);
} while (aSet.add(anInt));
System.out.println(aSet);
*如果你的答案是aSet只包含100%的奇数…你错了!
continue必须在循环内,否则会显示如下错误:
继续到循环之外
"continue"在Java中的意思是走到当前循环的结束, 意味着:如果编译器在一个循环中看到continue,它将进入下一个迭代
示例:这是一个输出从1到10的奇数的代码
编译器将忽略打印代码,只要它看到继续进入下一个迭代
for (int i = 0; i < 10; i++) {
if (i%2 == 0) continue;
System.out.println(i+"");
}