Java赋值运算符(=,+ =,-=,* =,/ =,%=,=,>>> =,&=,| =和^ =)
示例
这些运算符的左操作数必须是非最终变量或数组的元素。右手操作数必须与左手操作数兼容。这意味着这些类型必须相同,或者必须通过装箱,拆箱或加宽的组合将右操作数类型转换为左操作数类型。(有关完整的详细信息,请参阅JLS5.2。)
JLS15.26.2将“操作和分配”运算符的确切含义指定为:
形式的复合赋值表达式E1op=E2等效于E1=(T)((E1)op(E2)),其中T是的类型E1,不同之处在于该表达式E1仅被评估一次。
注意,在最终分配之前有一个隐式类型转换。
1。 =
简单赋值运算符:将右侧操作数的值分配给左侧操作数。
示例:c=a+b将的值添加a+b到的值c并将其分配给c
2。 +=
“添加并分配”运算符:将右侧操作数的值添加到左侧操作数的值,并将结果分配给左侧操作数。如果左侧操作数的类型为String,则这是“连接并分配”运算符。
例子:c+=a大致与c=c+a
3。 -=
“减去并分配”运算符:从左侧操作数的值中减去右侧操作数的值,并将结果分配给左侧操作数。
例子:c-=a大致与c=c-a
4。 *=
“乘和赋”运算符:将右操作数的值乘以左操作数的值,然后将结果分配给左操作数。。
例子:c*=a大致与c=c*a
5, /=
“除法和赋值”运算符:将右操作数的值除以左操作数的值,并将结果分配给左操作数。
例子:c/*=a大致与c=c/a
6。 %=
“取模并赋值”运算符:通过左操作数的值计算右操作数的值的模数,并将结果分配给左操作数。
例子:c%*=a大致与c=c%a
7。 <<=
“左移并分配”运算符。
例子:c<<=2大致与c=c<<2
8。 >>=
“算术右移并分配”运算符。
例子:c>>=2大致与c=c>>2
9。 >>>=
“逻辑右移并分配”运算符。
例子:c>>>=2大致与c=c>>>2
10。 &=
“按位与和分配”运算符。
例子:c&=2大致与c=c&2
11。 |=
“按位或和分配”运算符。
例子:c|=2大致与c=c|2
12 ^=
“按位异或或分配”运算符。
例子:c^=2大致与c=c^2