java Integer.MAX_VALUE+1

public final class Integer extends Number implements Comparable<Integer> {
    /**
     * A constant holding the minimum value an {@code int} can
     * have, -2<sup>31</sup>.
     */
    @Native public static final int   MIN_VALUE = 0x80000000;

    /**
     * A constant holding the maximum value an {@code int} can
     * have, 2<sup>31</sup>-1.
     */
    @Native public static final int   MAX_VALUE = 0x7fffffff;
....
}

源码可以看出  常量 MAX_VALUE 的值为0x7fffffff(十六进制)转换成二级制为 0 1111111111111111111111111111111(二进制)

 有符号整型的最高位是符号位 最高位 1表示负数 

        int maxValue =Integer.MAX_VALUE;
        int minValue =Integer.MIN_VALUE;
        System.out.println(maxValue);
     //  0 1111111111111111111111111111111+1 => 1 1111111111111111111111111111111(溢出)
    
int overFlow =maxValue+1; assert overFlow == minValue: "addtion overflow"; System.out.println(overFlow);      // 同理 assert minValue -1 ==maxValue ; System.out.println(minValue-1);
原文地址:https://www.cnblogs.com/itachilee/p/13366724.html