public class Test1 {
public static void main(String[] args) {
byte b1=1;
b1=(byte)(b1+1);
System.out.println(b1);
}
}
上述运算在进行+运算时 由于b1为byte类型的变量 所以系统自动提升其数据类型为int
所以在计算完 b1+1后 此时和的类型为int 要赋值给byte类型的变量b1所以需要强制类型转化
byte b2=1;
b2+=1;
System.out.println(b2);
+=是在java中是一次运算 而 b1=b1+1是两次运算
在上述此运算中使用b2+=1; 就类似于 b1=(byte)(b1+1);所以 不需要强转