1. 程式人生 > >Java中運算子優先順序

Java中運算子優先順序

程式設計中運算子的優先順序是一個很值得注意的事情。雖然用括號基本上就可以避免所以優先順序的問題,但如果對於運算子優先順序掌握不是很清楚的話,有的時候看別人巧妙的程式碼會難以理解,或有的時候會錯誤地處理了優先順序,因此沒有加括號導致出現錯誤。

這裡用一張表來表示Java優先順序,這張表應該在很多blog種也能見到,因為其確實清楚簡潔。

優先順序 運算子 結合性
1 () [] . 從左到右
2 ! +(正號) -(負號) ~(取補) ++(自增) - -(自減) 從右向左
3 * / % 從左到右
4 +(加號) -(減號) 從左到右
5 << >> >>> 從左到右
6 < <= >= > instanceof 從左到右
7 ==(等於) != 從左到右
8 & 從左到右
9 ^ 從左到右
10 | 從左到右
11 && 從左到右
12 || 從左到右
13 ?: 從右向左
14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= 從右向左

數字越小,優先順序越高。
總結一下,優先順序次序如下:

括號>單元操作符>算術運算子>移位操作符>關係運算符>位運算子>邏輯運算子>三元操作符>賦值運算子