a=a+b和a+=b的区别
1 class Test 2 { 3 public static void main(String[] args) 4 { 5 byte a= 127; 6 byte b= 127; 7 byte c=(byte)(a+b); 8 System.out.println(c); 9 a+=b; 10 System.out.println(a); 11 } 12 }
上面的“a+b” 操作会先将“+”号两边的数值提升为int型。所以赋值给c就会出错。
但是我们知道127是byte型的最大值,相加之后会显示负数。可以试试在强转的条件下 a+b+129 是什么效果。
----------------
“a+=b” 这个就很厉害了,使用这个运算符之后不用添加强转类型就可以实现加法运算。