小编oka*_*ali的帖子

输出-1在循环中变为斜线

令人惊讶的是,以下代码输出:

/
-1
Run Code Online (Sandbox Code Playgroud)

代码:

public class LoopOutPut {

    public static void main(String[] args) {
        LoopOutPut loopOutPut = new LoopOutPut();
        for (int i = 0; i < 30000; i++) {
            loopOutPut.test();
        }

    }

    public void test() {
        int i = 8;
        while ((i -= 3) > 0) ;
        String value = i + "";
        if (!value.equals("-1")) {
            System.out.println(value);
            System.out.println(i);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我尝试了很多次以确定这种情况会发生多少次,但是不幸的是,最终还是不确定的,并且我发现-2的输出有时变成了一个周期。另外,我还尝试了删除while循环并输出-1,而没有任何问题。谁能告诉我为什么?


JDK版本信息:

public class LoopOutPut {

    public static void main(String[] args) {
        LoopOutPut loopOutPut = new LoopOutPut();
        for (int …
Run Code Online (Sandbox Code Playgroud)

java string jit jvm while-loop

55
推荐指数
1
解决办法
1622
查看次数

标签 统计

java ×1

jit ×1

jvm ×1

string ×1

while-loop ×1