作業運算子( - 和)
這些運算子的左手運算元必須是非 final 變數或陣列的元素。右側運算元必須與左側運算元相容。這意味著型別必須相同,或者右運算元型別必須通過裝箱,拆箱或加寬的組合轉換為左運算元型別。 (有關完整的詳細資訊,請參閱 JLS 5.2 。)
操作和分配運算子的精確含義由 JLS 15.26.2 指定為:
形式
E1 op= E2的複合賦值表示式相當於E1 = (T) ((E1) op (E2)),其中T是E1的型別,除了E1僅被評估一次。
請注意,在最終賦值之前存在隱式型別轉換。
1. =
簡單賦值運算子:將右手運算元的值賦給左手運算元。
示例:
c = a + b將a + b的值新增到c的值並將其分配給c
2. +=
add and assign 運算子:將右手運算元的值新增到左手運算元的值,並將結果賦給左手運算元。如果左手運算元的型別為 String,那麼這是一個連線並分配運算子。
示例:
c += a與c = c + a大致相同
3. -=
subtract and assign 運算子:從左手運算元的值中減去右運算元的值,並將結果賦值給左手運算元。
示例:
c -= a與c = c - a大致相同
4. *=
multiply and assign 運算子:將右側運算元的值乘以左側運算元的值,並將結果賦值給左側運算元。。
示例:
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大致相同