1

出于某种原因,每当我这样做时:

public class Main {
    public static void main(String[] args) {
        boolean c = true;
        int i = 0;
        while (i < 10) {
            System.out.println(c);
            c = false;
            i++;
        }
    }
}

true每次都会打印。

编辑:我运行了几次,而不是第 5 次!我很困惑。我想我建错了……我猜。

4

1 回答 1

4

您必须编译/构建错误。我的输出:

true
false
false
false
false
false
false
false
false
false

...完全符合预期。(这是最新的 Oracle JDK,尽管我无法想象任何其他 JVM 的行为会有所不同——如果这样做肯定会非常糟糕。)

于 2013-09-13T00:43:49.190 回答