【发布时间】:2017-08-11 17:31:58
【问题描述】:
我有一个这样的程序:
public class OCAJP {
public static void main(String[] args) {
int i=0;
for(;i<2;i=i+5) {
if(i<5) {
continue;
}
System.out.print(i);
}
System.out.print(i);
}
}
This gives me an output to be 5 rather than giving me 05.
if 块中使用的 continue 语句不能执行 if 块,但它显示了继续 for 循环的功能。
【问题讨论】:
-
为什么你认为它应该给 05 ?
-
您认为
continue的实际作用是什么?因为一旦到达,它就会回到循环的开头,执行语句i=i+5,检查迭代值i<2返回false,然后继续,但它仍然执行i=i+5语句。跨度> -
@Vignan 您似乎混淆了
continue和break。 Continue 会回到循环的开始,Break 会跳出循环。另外,if不是循环。 -
continue语句不适用于if语句,仅适用于循环。您不能continue使用if语句,因此它将应用于最近的循环。查看我发布的链接。