工具用的順手嗎?
你的回饋能幫助我們做得更好
快速查詢Java運算子優先順序,提供完整優先順序表與結合性說明
此表是收錄語法的參考子集,不執行或驗證示例。數字是本站分組,不能替代所用語言版本的完整語法、型別和求值規則;例子保留原始程式碼與字面值。 參考來源
expr++後置運算左結合返回当前值后将变量加 1。
i++expr--後置運算左結合返回当前值后将变量减 1。
i--++expr一元運算右結合先将变量加 1,再返回新值。
++i--expr一元運算右結合先将变量减 1,再返回新值。
--i+expr一元運算右結合返回操作数的值,触发数值提升。
+x-expr一元運算右結合返回操作数的相反数。
-x~一元運算右結合对整数按位取反,每一位 0 变 1、1 变 0。
~mask!一元運算右結合对布尔值取反,true 变 false,false 变 true。
!ready(type)一元運算右結合将表达式显式转换为目标类型,对引用类型会进行 ClassCastException 检查。
(int) 3.14*乘除取餘左結合两个操作数相乘。
a * b/乘除取餘左結合整数除法向零截断;浮点除法保留小数。
10 / 3%乘除取餘左結合返回相除的余数,操作数可以是整型或浮点型。
10 % 3+加減運算左結合数值相加,或与字符串相连进行拼接。
"Hi " + name-加減運算左結合两个数相减。
a - b<<位移運算左結合整数按位左移,高位丢弃,低位补 0。
1 << 3>>位移運算左結合整数按位右移,保留符号位。
-8 >> 2>>>位移運算左結合整数按位右移,高位补 0,Java 独有。
-1 >>> 28<關係運算左結合左操作数小于右操作数返回 true。
a < b<=關係運算左結合左小于或等于右返回 true。
a <= b>關係運算左結合左操作数大于右操作数返回 true。
a > b>=關係運算左結合左大于或等于右返回 true。
a >= binstanceof關係運算左結合判断对象是否为指定类型或其子类的实例。
obj instanceof String==相等判斷左結合基本类型比较值;引用类型比较是否为同一对象。
a == b!=相等判斷左結合基本类型比较值是否不同;引用类型比较是否非同一对象。
a != b&按位運算左結合整数按位与;布尔型表示不短路逻辑与。
a & b^按位運算左結合整数按位异或;布尔型表示逻辑异或。
a ^ b|按位運算左結合整数按位或;布尔型表示不短路逻辑或。
a | b&&邏輯運算左結合短路逻辑与:左操作数为 false 时不计算右操作数。
a && b||邏輯運算左結合短路逻辑或:左操作数为 true 时不计算右操作数。
a || b?:條件運算右結合根据布尔条件返回两个表达式之一。
x > 0 ? 1 : -1=賦值運算右結合将右操作数的值赋给左操作数。
x = 10+=賦值運算右結合x = x + y 的简写,同样支持字符串拼接。
x += 1-=賦值運算右結合x = x - y 的简写。
x -= 1*=賦值運算右結合x = x * y 的简写。
x *= 2/=賦值運算右結合x = x / y 的简写。
x /= 2%=賦值運算右結合x = x % y 的简写。
x %= 3&=賦值運算右結合x = x & y 的简写。
x &= 0xFF^=賦值運算右結合x = x ^ y 的简写。
x ^= mask|=賦值運算右結合x = x | y 的简写。
x |= 0x01<<=賦值運算右結合x = x << y 的简写。
x <<= 2>>=賦值運算右結合x = x >> y 的简写。
x >>= 2>>>=賦值運算右結合x = x >>> y 的简写。
x >>>= 2->Lambda 表示式右結合Java 8 引入的 Lambda 表达式,将参数列表与函数体分隔。
(a, b) -> a + b概覽
了解工具能解決的問題、計算或處理邏輯,以及資料邊界。
這份 Java 運算子優先順序表適合在閱讀程式碼時快速查找符號、分類與結合方向。輸入關鍵字後,可依運算子符號、名稱、說明、範例或索引數字搜尋;再用分類及結合性篩選結果。每筆條目會列出符號、分類、結合性、名稱、簡要說明與範例,符號和範例也可分別複製。
表中的「優先順序」數字是方便本表定位的分組標籤,數字較小代表索引中排得較前;它不是 Java 語言規範正式定義的級別編號。Java 語言規範第 15 章以表達式文法描述分組關係,沒有另訂一張可直接對照的完整數字表。Oracle 的 Java SE 27 語言規範第 15.2 節說明優先順序由文法產生式階層管理,並把 lambda 箭頭列在賦值運算子之前的較低優先位置;第 15.7.3 節說明括號與優先順序如何影響表達式解讀。閱讀 Java SE 27 語言規範第 15 章(Oracle;支持表達式文法、優先順序、括號與求值規則;檢查日期:2026-09-30)。
優先順序用來判斷不同運算子如何分組;結合方向則描述同一組中連續出現的運算子如何關聯。例如 a - b - c 依左結合分組為 (a - b) - c,而連續賦值 a = b = c 依右結合分組為 a = (b = c)。這是語法結構的讀法,不代表所有運算都可互換,也不等於完整的操作數求值順序。
例如 a + b * c 會先把 b * c 結合,再與 a 相加。若希望先相加,可寫成 (a + b) * c。明確括號能讓程式意圖更容易檢查,也不必依賴讀者記住索引表。
指南
依步驟完成操作,並透過範例核對輸入與結果。
在關鍵字欄輸入符號、運算子名稱、說明中的詞、範例片段,或分組數字;例如搜尋 >>> 可找無符號右移相關條目。
需要縮小範圍時,再選一個運算子分類或結合性。多個條件會同時套用;沒有結果時,清除其中一個篩選或改用英文符號名稱。
檢查條目的分類、結合標籤、說明與範例,再複製符號或示例。若要判斷完整程式的型別、合法性或執行結果,將程式放到相符 Java 版本的開發環境中驗證。
情境
查看這項工具在不同工作與生活流程中的用法。
閱讀同時含有 &&、||、比較或位元運算的條件時,先查各符號所屬類別,再按優先順序加上心中的括號。若判斷結果會影響分支或副作用,直接在程式碼中補上清楚的括號並執行測試。
學習者可用分類篩選比較算術、位移與邏輯運算,再查看結合方向及短路說明。將表格當速查入口,遇到型別轉換、模式比對或新語法時,再查對應 Java 版本的語言規範。
審查者可用符號搜尋確認常見運算子的分組,並複製範例作為討論起點。若一行表達式需要反覆推敲,建議修改成括號明確、較容易維護的寫法,而不是只在評論中要求團隊記住優先順序。
問答
集中解答常見疑問與容易混淆的問題。
不是。數字是本索引使用的查找分組標記。Java 語言規範透過表達式文法表達優先順序,沒有定義這組數字;請勿將其當作規範條號或不同 Java 版本間的標準級別。
不完全是。結合方向回答的是語法如何分組,例如 x - y - z 的分組方式;Java 對操作數的求值另有規則,短路邏輯與條件運算也有各自語義。若運算式含有方法呼叫或修改變數,不要只靠結合標籤推斷副作用順序。
不會。它只搜尋並篩選預先列出的運算子條目,不會讀入完整程式、判斷型別或編譯程式碼。要確認某段表示式是否合法及結果為何,請在目標 Java 版本的編譯器或測試中檢查。
須知
使用前了解適用範圍、結果限制與必要提醒。
本頁是便於查找的靜態條目索引,不是 Java 完整表達式語法、全部運算子或語言規範的替代品。像成員存取、方法呼叫、陣列存取、型別轉換、模式比對、Lambda 與 switch 表達式等語法,不能只靠這份運算子分組表完整分析。遇到版本差異、型別規則、短路行為或副作用時,請查看專案使用的 Java 版本所對應的官方語言規範,並以編譯器結果驗證。條目名稱及說明目前採簡體中文資料值,繁體中文介面標籤不代表每筆資料文字皆已繁體化。
推薦
查找相關工具、專題與可用的 API 能力。