Integer的MIN_VALUE

在JDK中,整型类型是有范围的  -2147483648~2147483647  ( -2^31 --- 2^31-1)
最大值为Integer.MAX_VALUE,即2147483647,最小值为Integer.MIN_VALUE -2147483648。
对整形最大值加1,2147483648(越界了),那么此时值为多少呢?结果是-2147483648,即是Integer.MIN_VALUE。
类似的,对Integer.MIN_VALUE取反或者取绝对值呢?仍为Integer.MIN_VALUE,因为值为-2147483648,绝对值2147483648超过Integer.MAX_VALUE 2147483647。
所以就有以下结果
Integer.MAX_VALUE + 1 = Integer.MIN_VALUE
//返回 Integer 值的绝对值。
Math.abs(Integer.MIN_VALUE) =  Integer.MIN_VALUE
Long,short,byte的结论是相同的。
这个语句的输出结果:
 System.out.println(1<<31== Integer.MIN_VALUE);//true
 
 
原文地址:https://www.cnblogs.com/leilong/p/8624777.html