为什么不能在没有参数的for循环之后放置print语句?

时间:2015-11-01 17:55:17

标签: java loops for-loop printing

为什么在这种类型的for循环之后你不能放置一个print语句?我不明白发生了什么。我知道这不是编写for循环的标准方法。所以我正在尝试使用这段代码,因为我在某处看到了这段代码。我只是不明白为什么你不能把印刷声明放在最后。

公共课测试{

public static void main(String [] args){    
    for( ; ; ) {
        int x = 0;
        if (x < 5) {
            System.out.print(x + " ");
            x++;
        }
    }
    System.out.println("The End"); //This line will not compile.
}

}

2 个答案:

答案 0 :(得分:1)

for( ; ; ) is same as while(true)因为你没有在你创建无限循环的任何地方打破这个循环。

因此,在这样的循环之后放置的任何代码都将永远不会执行(将无法访问/死代码),并且编译器会通知您这个问题,因为这种情况很可能不是您的意图。

答案 1 :(得分:0)

循环永远不会结束。你需要在某个地方打破它。像这样的一段时间(真实)。你可以重构for(pre, cond, after){code}做一会儿

pre
while(cond)
{
    code
    after
}

所以如果你做for (;;),它基本上就像while(true)