编程语言
首页 > 编程语言> > Java基本数据类型(强制转换数据溢出情况)

Java基本数据类型(强制转换数据溢出情况)

作者:互联网

强制转换数据溢出情况

     举例: int转byte

        int exampleB2 = 129;   //129往前移两位得-127
        System.out.println((byte)exampleB2);  //-127
        int exampleB3 = -129;   //-129往前移一位得127
        System.out.println((byte)exampleB3);  //127
        int exampleB4 = 256;   //256往前移(256-127=129)位,即0
        System.out.println((byte)exampleB4);  //0

   分析:

    想象这个范围是在数轴上一直连续的区间

     

 

    以中间这个区间为起始区间,当int = 129时,超出了区间(129-127 = 2)位,在对应的连续区间里的位置是第二位,第一位是-128,第二位是-127,所以此时强制转换打印的值是-127,而不是129

    

 

    以中间这个区间为起始区间,当int = -129时,超出了区间(-128 - (-129) = 1)位,在对应的连续区间里的位置是第一位,数一位,第一位是127,所以此时强制转换打印的值是127,而不是129

    

标签:Java,int,数据类型,System,127,区间,129,byte,溢出
来源: https://www.cnblogs.com/jadexu07/p/14100655.html