【发布时间】:2018-04-10 07:52:30
【问题描述】:
下面的循环应该是无限循环的,至少我是这么认为的。
int y=0;
for(int x=1; x>0; x++)
{
y=y+x;
}
但是,循环确实终止了,我不知道为什么。
【问题讨论】:
标签: java loops for-loop jvm bytecode
下面的循环应该是无限循环的,至少我是这么认为的。
int y=0;
for(int x=1; x>0; x++)
{
y=y+x;
}
但是,循环确实终止了,我不知道为什么。
【问题讨论】:
标签: java loops for-loop jvm bytecode
最终 x 会大于 Integer.MAX_VALUE 然后溢出到负数 这是一个快速测试,向您展示我的意思
int val = 1000000;
for (int i = 0; i < 100; i++) {
val = val * val;
if (val < 0) {
System.out.println(val);
}
}
【讨论】: