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);所以 不需要强转
本文详细解析了Java中byte类型变量在算术运算时的数据类型提升与强制类型转换,对比了b1=b1+1与b2+=1两种运算方式的区别,解释了+=运算符如何避免显式类型转换。
606

被折叠的 条评论
为什么被折叠?



