首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java 運算子優先順序完整對照表與實務建議

     編輯:Java 程式設計入門

運算子優先順序決定運算順序

當一個運算式包含多個運算子時,Java 依照優先順序由高到低執行運算。優先順序相同時,依結合性(多為左至右)決定順序。熟悉優先順序表雖有助理解程式碼,但實務上強烈建議使用括號明確表達意圖,提升可讀性並避免錯誤。

Java 運算子優先順序完整表(由高至低)

優先順序運算子說明結合性
1() [] .括號、陣列存取、成員存取左至右
2! + - ~ ++ --邏輯非、正負號、位元補數、遞增遞減右至左
3* / %乘法、除法、取餘數左至右
4+ -加法、減法左至右
5<< >> >>>左移、有號右移、無號右移左至右
6< <= > >= instanceof關係比較、型別檢查左至右
7== !=相等、不相等比較左至右
8&位元 AND左至右
9^位元 XOR左至右
10|位元 OR左至右
11&&邏輯 AND(短路)左至右
12||邏輯 OR(短路)左至右
13? :三元條件運算子右至左
14= += -= *= /= %= &= |= ^= ~=<<= >>= >>>=指派與複合指派右至左

關鍵觀念釐清

  • 優先順序 1 最高,14 最低:括號優先,指派最後
  • 單元運算子右結合:3 + -4 解析為 3 + (-4),負號先與 4 結合
  • instanceof 用途:檢查物件是否為特定類別或介面型別
  • 易混淆運算子:正負號(+ -)vs 加減法;位元 AND(&)vs 邏輯 AND(&&)

實務程式碼範例

int m = 12;
// 不佳:依賴優先順序(<< 高於 +)
int n = m << 1 + 2;  // 實際執行 m << (1+2) = m << 3

// 建議:明確使用括號
int n = m << (1 + 2);  // 意圖清晰,易讀易維護

最佳實務建議

  1. 不確定時加括號:寧可多打幾個字元,不可留隱患
  2. 複雜運算式拆分:使用中間變數儲存子運算結果,增強可讀性
  3. 程式碼審查重點:檢查無括號的混合運算式是否符合原始設計意圖
  4. 教學與文件:團隊規範應明確列出專案常用運算子的優先順序決策

掌握運算子優先順序是 Java 開發者的基本功,但善用括號表達明確意圖,才是專業工程師的成熟表現。讓程式碼自我說明,減少後續維護者的認知負擔。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved