这是因为最大值,这里integer是十位,约21亿,数据库使用int(11)定时数字类型时常遇到这个值,超出的,就改为bigint(20)
不止是int, 其他类型也是一样的。存储数值的最高位戴代表的是二进制正负标识位。一旦再加一,就会正的变为负数了
所以,下面的循环不会停止,会经历负数--正数
public static void main(String[] args) {
Integer end=Integer.MAX_VALUE;
Integer start=end-2;
System.out.println(end+" "+start);
System.out.println(end+1);
/*for(int i=start;i<=end ;i++){
System.out.println(i);
}*/
}