符号数加算オーバーフロー

566 ワード

Java             ,               ,  int    32 (4byte),        ,           32         ,                     ,         ,           ,       。
public class OverflowTest {

    public static void main(String[] args) {

        //   
        Integer x = Integer.MAX_VALUE;
        Integer y = 1;
        System.out.println("x+y=" + (x+y));//x+y=-2147483648

        //   
        Integer nx = Integer.MIN_VALUE;
        Integer ny = -1;
        Integer nz = nx + ny;
        System.out.println("x+y=" + nz); //x+y=2147483647
    }
}