强制转换的运用

                                强制转换的运用

这样是错误的。

​
public class Operator{
    public static void main(String[] args){
    byte i=5;
    i=i+1;
    System.out.println(i);
}
}

​

 

强制转换的运用

这样才对 

​
​
public class Operator{
    public static void main(String[] args){
    byte i=5;
    i=(byte)(i+1);
    System.out.println(i);
}
}

​

​

i=6;

解析:

byte本来是1个字节,但是java的默认类型是int,是4个字节。

i是一个字节,1是4个字节。

计算时,小的自动转化为大。i自动转换为int类型,则是4个字节。

i                =           i         +            1;

1字节                4字节              4字节

所以错误。因为i装不下。

大不能自动转化为小的。