我第一次看到这个关键字,我想知道是否有人可以向我解释它是做什么的。
continue关键字是什么? 它是如何工作的? 什么时候使用?
我第一次看到这个关键字,我想知道是否有人可以向我解释它是做什么的。
continue关键字是什么? 它是如何工作的? 什么时候使用?
当前回答
Continue是Java中的关键字,用于跳过当前迭代。
假设您想打印从1到100的所有奇数
public class Main {
public static void main(String args[]) {
//Program to print all odd numbers from 1 to 100
for(int i=1 ; i<=100 ; i++) {
if(i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}
上面程序中的Continue语句只是在I为偶数时跳过迭代,当I为奇数时打印I的值。
语句只是将您带出循环,而不执行循环内的其余语句,并触发下一次迭代。
其他回答
通常,我将continue(和break)视为代码可能使用某些重构的警告,特别是在while或for循环声明没有立即出现的情况下。方法中间的return也是如此,但原因略有不同。
正如其他人已经说过的那样,continue会移动到循环的下一个迭代,而break则会移出封闭的循环。
这些可以是维护定时炸弹,因为除了上下文之外,在继续/中断和它继续/中断的循环之间没有直接的联系;添加一个内部循环或将循环的“内脏”移动到一个单独的方法中,就会出现continue/break失败的隐藏效果。
依我之见,最好将它们作为最后的手段,然后确保它们的使用在循环的开始或结束时紧密地组合在一起,以便下一个开发人员可以在一个屏幕上看到循环的“边界”。
continue, break和return(除了方法末尾的一个True return)都属于“隐藏goto”的一般类别。他们把循环和函数控制放在意想不到的地方,最终导致bug。
Continue是Java中的关键字,用于跳过当前迭代。
假设您想打印从1到100的所有奇数
public class Main {
public static void main(String args[]) {
//Program to print all odd numbers from 1 to 100
for(int i=1 ; i<=100 ; i++) {
if(i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}
上面程序中的Continue语句只是在I为偶数时跳过迭代,当I为奇数时打印I的值。
语句只是将您带出循环,而不执行循环内的其余语句,并触发下一次迭代。
如果你把循环体看作子程序,continue就有点像return。同样的关键字在C中也存在,而且用途相同。这里有一个人为的例子:
for(int i=0; i < 10; ++i) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
这将只打印奇数。
让我们来看一个例子:
int sum = 0;
for(int i = 1; i <= 100 ; i++){
if(i % 2 == 0)
continue;
sum += i;
}
这将得到从1到100的奇数之和。
Continue有点像goto。你熟悉break吗?我们可以比较容易地对比一下:
Break终止循环(跳转到它下面的代码)。 Continue终止当前迭代循环中代码的其余处理,但继续循环。