このクラスを実行すると、forループが早期に終了するようです
class Test {
public static void main(String[] args) {
int result = 0;
int end = Integer.MAX_VALUE;
int i;
for (i = 1; i <= end; i += 2) {
System.out.println(i);
}
System.out.println("End:" + i);
}
}
出力は次のとおりです。
1
3
5
...
31173
31175
End:31177
なぜそこで終わるのですか?System.out.println(i)
興味深いことに、forループでinを削除すると、出力はになりますEnd:-2147483647
。明らかに、の値i
はwrapped round
です。
私が使用しているJavaのバージョンは
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)