Java for循环,初始化变量满足终止要求,但循环不终止



我已经研究了一段时间,但似乎不能弄清楚为什么这个循环不终止。

public class Test{
    public static void main (String [] args){
        for (int i = 11; i > 10; i++){
            System.out.println(i);}
    }
}

变量初始化为满足循环终止要求的值,所以不应该没有任何输出吗?
抱歉,如果这是一个新手问题,但我似乎无法找到答案从搜索(或者也许我只是没有措辞问题适当,当我搜索)
循环一直执行,直到我按下ctrl+c。
谢谢。

for循环中的第二个代码片段(这里是i > 10)是boolean表达式,如果是true,则让循环再次运行。显然,它一直是true(直到整数溢出)。

循环从i = 11开始,在i > 10 == true时继续,每次迭代执行i++

你看到它现在没有终止吗?

循环将永远不会结束,结束条件声明循环将在i <= 10时停止,并且给定i = 11在开始时,条件将求值为11 > 10 == true,进入无限循环。

严格来说,它将在索引溢出后结束,但是到达那个点需要很长时间。

最新更新