强制转换的运用
这样是错误的。
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装不下。
大不能自动转化为小的。