【发布时间】:2010-10-09 16:25:54
【问题描述】:
为什么这段代码返回错误的值?
int i=Integer.MAX_VALUE+1;
long l=Integer.MAX_VALUE+1;
System.out.println(l);
System.out.println(i);
【问题讨论】:
-
字节 b1=100; //字节 b2=200; // 可能丢失精度字节 b3=100+1; //字节b4=127+1; // 可能的精度损失 int i1=2000000000; //int i2=2999999999; //整数太大:2999999999 int i3=2000000000+1; int i4=2147483647+1;现在我不明白为什么会出现不同类型的错误。对于 b4 变量 - 有错误,对于 i4 - 没有错误。
标签: java math integer-overflow