赋值运算符在编程中具有重要的作用,它们用于改变变量的值。以下是常见的赋值运算符及其用法:
=: 变量赋值,例如:`a = 3`,将3的值赋予变量a。
/=: 除后赋值,如:`a /= 3`,a的值变为a除以3的结果。
*=: 乘后赋值,如:`a *= 3`,a的值乘以3后更新。
%=: 取模后赋值,如:`a %= 3`,a的值更新为a除以3的余数。
+=: 加后赋值,如:`a += 3`,a的值增加3。
-=: 减后赋值,如:`a -= 3`,a的值减少3。
<<=: 左移后赋值,如:`a <<= 2`,a的二进制位向左移动指定位数。
>=: 右移后赋值,如:`a >>= 2`,a的二进制位向右移动,可能根据有无符号和系统不同填充0或1。
&=: 按位与后赋值,如:`a &= OxF2F2`,a的值进行按位与运算。
^=: 按位异或后赋值,如:`a ^= OxF2F2`,a的值进行按位异或运算。
|=: 按位或后赋值,如:`a |= OxF2F2`,a的值进行按位或运算。
需要注意的是,多重赋值表达式不被允许出现在变量声明中,如`int i = j = 0`是非法的。例如,对于变量`a = 2`和`b`,表达式`b += b = ++a`执行后,a的值为3,b的值为6。
在某些情况下,嵌入赋值与直接运算等价,如`x *= y + 8`等同于`x = x * (y + 8)`,而`z &= y - x`等价于`z = z & (y - x)`。