为什么这个 Java for 循环终止,尽管它应该无限循环?
Why does this Java for loop terminate although it is supposed to loop infinitely?
下面的循环应该是无限循环的,我认为是这样。
int y=0;
for(int x=1; x>0; x++)
{
y=y+x;
}
但是,循环确实终止了,我不知道为什么。
最终x会大于Integer.MAX_VALUE然后溢出为负数
这是一个快速测试,向您展示我的意思
int val = 1000000;
for (int i = 0; i < 100; i++) {
val = val * val;
if (val < 0) {
System.out.println(val);
}
}
下面的循环应该是无限循环的,我认为是这样。
int y=0;
for(int x=1; x>0; x++)
{
y=y+x;
}
但是,循环确实终止了,我不知道为什么。
最终x会大于Integer.MAX_VALUE然后溢出为负数 这是一个快速测试,向您展示我的意思
int val = 1000000;
for (int i = 0; i < 100; i++) {
val = val * val;
if (val < 0) {
System.out.println(val);
}
}