gpt4 book ai didi

java 循环与 Integer.MAX_VALUE

转载 作者:行者123 更新时间:2023-12-01 04:35:43 25 4
gpt4 key购买 nike

我偶然发现了如此奇怪的代码,但我不知道为什么?

public class CrazyTest {

public static void main(String[] args) {

long val = 0L;
for (int i = 0; i < Integer.MAX_VALUE; i++) {
val = i;
}
System.out.println("val = "+val);

int kk =Integer.MAX_VALUE;
System.out.println("kk = "+kk);

long val2 = 0L;
for (int i = 0; i < Integer.MAX_VALUE; i++) {
val2 = i;
}
System.out.println("val2 = "+val2);
}
}

奇怪的1是“val =”,当你运行两次时,它的值是不同的“val=493794”、“val=675042”为什么?

奇怪的2就是为什么“kk = 2147483647”和“val2=2147483645”,为什么gap值是2,而不是1?

我的环境是[Mac OS 64bit 10.8.3],eclipse是[Indigo],jdk是[JavaSE6 MacOS默认]

最佳答案

您可以使用 Integer.MAX_VALUE-1 解决 JVM 错误

关于java 循环与 Integer.MAX_VALUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17399295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com