【发布时间】:2020-01-13 04:40:49
【问题描述】:
为什么下面的代码会无限循环?为什么不抛出编译时错误?
public class Main {
public static void main(String[] args) {
for(;;){
System.out.println("while loop");
}
}
}
【问题讨论】:
-
因为它是合法的代码,它表示一个无限循环。
-
一旦条件不满足(在 for 循环中的 first ; 之后),for 循环迭代就会停止。在上面的代码中,没有 Condition 可以统计,默认情况下为 true。所以这段代码会无限循环运行。
-
另请参阅Java: for(;;) vs. while(true),以及为什么有些人更喜欢它stackoverflow.com/a/2611529(尽管此答案基于 C++)。
标签: java