我第一次看到这个关键字,我想知道是否有人可以向我解释它是做什么的。
continue关键字是什么? 它是如何工作的? 什么时候使用?
我第一次看到这个关键字,我想知道是否有人可以向我解释它是做什么的。
continue关键字是什么? 它是如何工作的? 什么时候使用?
当前回答
如果你把循环体看作子程序,continue就有点像return。同样的关键字在C中也存在,而且用途相同。这里有一个人为的例子:
for(int i=0; i < 10; ++i) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
这将只打印奇数。
其他回答
我来晚了一点,但是…
值得一提的是,continue对于空循环非常有用,其中所有的工作都在控制循环的条件表达式中完成。例如:
while ((buffer[i++] = readChar()) >= 0)
continue;
在这种情况下,读取字符并将其追加到缓冲区的所有工作都在控制while循环的表达式中完成。continue语句可以直观地指示循环不需要正文。
它比同等的东西更明显一点:
while (...)
{ }
这绝对比使用空语句更好(也更安全)的编码风格:
while (...)
;
让我们来看一个例子:
int sum = 0;
for(int i = 1; i <= 100 ; i++){
if(i % 2 == 0)
continue;
sum += i;
}
这将得到从1到100的奇数之和。
Continue有点像goto。你熟悉break吗?我们可以比较容易地对比一下:
Break终止循环(跳转到它下面的代码)。 Continue终止当前迭代循环中代码的其余处理,但继续循环。
如果你把循环体看作子程序,continue就有点像return。同样的关键字在C中也存在,而且用途相同。这里有一个人为的例子:
for(int i=0; i < 10; ++i) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
这将只打印奇数。
"continue"在Java中的意思是走到当前循环的结束, 意味着:如果编译器在一个循环中看到continue,它将进入下一个迭代
示例:这是一个输出从1到10的奇数的代码
编译器将忽略打印代码,只要它看到继续进入下一个迭代
for (int i = 0; i < 10; i++) {
if (i%2 == 0) continue;
System.out.println(i+"");
}