運算符優先級
運算符優先級指定了兩個表達式綁定得有多“緊密”。例如,表達式 1 + 5 *
3 的結果是 16 而不是 18 是因為乘號(“*”)的優先級比加號(“+”)高。必要時可以用括號來強制改變優先級。例如:(1 + 5) * 3 的值為 18。
下表從低到高列出了運算符的優先級。
表格 11-1. 運算符優先級
| 結合方向 | 運算符 |
|---|
| 左 | , |
| 左 | or |
| 左 | xor |
| 左 | and |
| 右 | print |
| 左 |
= += -= *= /= .= %= &= |= ^= ~= <<= >>=
|
| 左 | ? : |
| 左 | || |
| 左 | && |
| 左 | | |
| 左 | ^ |
| 左 | & |
| 無 | == != === !== |
| 無 | < <= > >= |
| 左 | << >> |
| 左 | + - . |
| 左 | * / % |
| 右 | ! ~ ++ -- (int) (float) (string) (array) (object) @ |
| 右 | [ |
| 無 | new |