# 運算子優先級
運算子有一定的優先級,代表其執行的優先順序,如下表:
數字越小者代表優先執行。
優先級 | 運算子 | 結合性 |
---|---|---|
1 | ()、[]、{} | 從左向右 |
2 | !、+、-、~、++、-- | 從右向左 |
3 | *、/、% | 從左向右 |
4 | +、- | 從左向右 |
5 | «、»、>>> | 從左向右 |
6 | <、<=、>、>=、instanceof | 從左向右 |
7 | ==、!= | 從左向右 |
8 | & | 從左向右 |
9 | ^ | 從左向右 |
10 | | | 從左向右 |
11 | && | 從左向右 |
12 | || | 從左向右 |
13 | ?: | 從右向左 |
14 | =、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>= | 從右向左 |
沒有去記優先順序也沒關係,只要記得用括號區分要先運行的程式碼即可。
int number1 = 5 * 3 - 2; // 13 | |
int number2 = 5 * (3-2); // 5 | |
int number3 = 6 + 1 << 3; // 56 | |
int number4 = 6 + (1 << 3); // 14 |