3.7.4 扩展后的赋值运算符
3.7.4 扩展后的赋值运算符
赋值运算符可与算术运算符、位移运算符结合,扩展成功能更加强大的运算符。扩展后的赋值运算符如下
扩展的赋值运算符 | 描述 |
---|---|
+= |
对于x+=y ,即对应于x=x+y |
-= |
对于x-=y ,即对应于x=x-y |
*= |
对于x*=y ,即对应于x=x*y |
/= |
对于x/=y ,即对应于x=x/y |
%= |
对于x%=y ,即对应于x=x%y |
&= |
对于x&=y ,即对应于x=x&y |
` | =` |
^= |
对于x^=y ,即对应于x=x^y |
<<= |
对于x<<=y ,即对应于x=x<<y |
>>= |
对于x>>=y ,即对应于x=x>>y |
>>>= |
对于x>>>=y ,即对应于x=x>>>y 。 |
只要能使用这种扩展后的赋值运算符,通常都推荐使用它们。因为这种运算符不仅具有更好的性能,而且程序会更加健壮。
程序示例 +=运算符的用法
下面程序示范了+=运算符的用法。
1 | public class EnhanceAssignTest { |
+=不会自动类型提升
运行上面程序,不难发现a=a+5
和a+=5
虽然运行结果相同,但底层的运行机制还是存在一定差异的。因此,如果可以使用这种扩展后的运算符,则推荐使用它们