我已经研究了一段时间,但似乎无法弄清楚为什么这个循环不会终止。
public class Test{
public static void main (String [] args){
for (int i = 11; i > 10; i++){
System.out.println(i);}
}
}
变量初始化为满足循环终止要求的值,所以不应该没有任何输出?
对不起,如果这是一个菜鸟问题,但我似乎找不到搜索的答案(或者我可能只是在搜索时没有恰当地写出问题)
循环只是一直执行,直到按ctrl + c。
提前致谢。
答案 0 :(得分:1)
for
loop(此处为i > 10
)中的第二个代码片段是boolean
表达式,如果true
,则允许循环再次运行。它显然是true
(直到整数溢出)。
答案 1 :(得分:1)
您的循环以i = 11
开头,在i > 10 == true
时继续,并在每次迭代时执行i++
你看到它现在不会终止吗?
答案 2 :(得分:1)
循环永远不会结束,结束条件表明循环将在i <= 10
时停止,并且在开头给出i = 11
时,条件将评估为11 > 10 == true
,进入无限循环。
嗯,严格来说,将在索引溢出后结束,但要达到这一点需要很长时间。