a+=1运算符与 a=a+1比较

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);所以 不需要强转

你可能感兴趣的:(a+=1运算符与 a=a+1比较)