作業運算子( - 和)

這些運算子的左手運算元必須是非 final 變數或陣列的元素。右側運算元必須與左側運算元相容。這意味著型別必須相同,或者右運算元型別必須通過裝箱,拆箱或加寬的組合轉換為左運算元型別。 (有關完整的詳細資訊,請參閱 JLS 5.2 。)

操作和分配運算子的精確含義由 JLS 15.26.2 指定為:

形式 E1 op= E2 的複合賦值表示式相當於 E1 = (T) ((E1) op (E2)),其中 TE1 的型別,除了 E1 僅被評估一次。

請注意,在最終賦值之前存在隱式型別轉換。

1. =

簡單賦值運算子:將右手運算元的值賦給左手運算元。

示例:c = a + ba + b 的值新增到 c 的值並將其分配給 c

2. +=

add and assign 運算子:將右手運算元的值新增到左手運算元的值,並將結果賦給左手運算元。如果左手運算元的型別為 String,那麼這是一個連線並分配運算子。

示例:c += ac = c + a 大致相同

3. -=

subtract and assign 運算子:從左手運算元的值中減去右運算元的值,並將結果賦值給左手運算元。

示例:c -= ac = c - a 大致相同

4. *=

multiply and assign 運算子:將右側運算元的值乘以左側運算元的值,並將結果賦值給左側運算元。。

示例:c *= ac = c * a 大致相同

5. /=

除法和賦值運算子:將右側運算元的值除以左側運算元的值,並將結果賦值給左側運算元。

示例:c /*= ac = c / a 大致相同

6. %=

模數和賦值運算子:通過左手運算元的值計算右手運算元的值的模數,並將結果賦值給左手運算元。

示例:c %*= ac = c % a 大致相同

7. <<=

左移和分配運算子。

示例:c <<= 2c = c << 2 大致相同

8. >>=

算術右移和分配運算子。

示例:c >>= 2c = c >> 2 大致相同

9. >>>=

邏輯右移和分配運算子。

示例:c >>>= 2c = c >>> 2 大致相同

10. &=

按位和分配運算子。

示例:c &= 2c = c & 2 大致相同

11. |=

按位或分配運算子。

示例:c |= 2c = c | 2 大致相同

12. ^=

按位獨佔或分配運算子。

示例:c ^= 2c = c ^ 2 大致相同