Java - 为什么我不能在while循环中更改变量?

Sus*_*ers 1 java

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

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++;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

true每次打印都会打印出来.

编辑:我运行了几次,比它第五次运行!我很迷惑.我想我错了......我想.

Mic*_*rry 5

你必须编译/构建错误.我的输出:

true
false
false
false
false
false
false
false
false
false
Run Code Online (Sandbox Code Playgroud)

......完全符合预期.(这是最新的Oracle JDK,虽然我无法想象任何其他JVM的行为会有所不同 - 如果确实如此,它肯定会非常破碎.)