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” 这个就很厉害了,使用这个运算符之后不用添加强转类型就可以实现加法运算。

 

posted @ 2017-02-23 22:23  菊花缝纫师  阅读(534)  评论(0编辑  收藏  举报