JAVA的運算子本身也有自己的優先順序,這邊舉個簡單的例子.
x = 1 + 2 * 3
得到的結果為7,先乘除後加減.
優先順序 |
運算子 |
1 |
() 括號 |
2 |
+ (正浩), - (負號), ++, -- |
3 |
*, /, % |
4 |
+(加號), -(減號) |
5 |
>>, <<, >>> |
6 |
<, >, <=, >=, instanceof |
7 |
!=, == |
8 |
& |
9 |
^ |
10 |
| |
11 |
&& |
12 |
|| |
13 |
?: |
14 |
=, +=, -=, *=, /=, <<=, >>=, >>>= |
舉例來說
x = 1 * 2 < 3 & 4 > 5 - 6 || 7 >= 8 - 9 && false
最後: x=true
x = 1 * 2 < 3 & 4 > 5 - 6 || 7 >= 8 - 9 && false
x = 2 < 3 & 4 > -1 || 7 >= -1 && false
x = true & true || true && false
x = true || true && false
x = true || false
x = true