gpt4 book ai didi

java - 'for'循环中的错误是什么?

转载 作者:行者123 更新时间:2023-12-02 04:43:23 24 4
gpt4 key购买 nike

为什么以下会引发错误?

for(; 0   ;)     System.out.println("guess");  // or
for(;false;) System.out.println("guess"); // or
for(; 1 ;) System.out.println("guess");

但是以下运行正常(无限):

for(;true;)      System.out.println("guess");

为什么它对 true 有效,但对 false 无效?

最佳答案

条件(即 ; 之间的位)必须是 boolean 值,因此这会立即排除第一个代码段中的第一个和第三个变体。

现在,您使用 boolean 值的第二个变体无法编译,因为编译器意识到永远不会进入循环,因此会发出错误:

Untitled.java:3: error: unreachable statement        for(;false;)     System.out.println("guess");                         ^1 error
<小时/>

请注意,JLS 要求对无法访问的语句发出错误(请参阅 §14.21):

It is a compile-time error if a statement cannot be executed because it is unreachable.

...

The contained statement is reachable iff the for statement is reachable and the condition expression is not a constant expression whose value is false.

关于java - 'for'循环中的错误是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27845091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com