Integer溢出

java的Integer类型溢出即,Integer类型最大值+1编程最小值,或者Integer类型最小值-1变成Integer类型最大值。类似于一个首尾相连的环状。由此带来的表现是:

  • 溢出时造成加减法不准确,Integer范围[-2147483648,2147483647]
  • a-b<0与a<b判断不一致,前者可能由于溢出造成结果是错的;

示例如下:

//第一个判断是正确的
System.out.println(Integer.MAX_VALUE<-1);//false
System.out.println(Integer.MAX_VALUE+1<0);//true

因此整型判断大小是应该用如下代码:

a<b?-1:(a==b?0:1);返回整型结果的判断
//或者直接
a<b;

posted on 2018-04-21 13:46  coderDu  阅读(589)  评论(0编辑  收藏  举报