工具用的順手嗎?
你的回饋能幫助我們做得更好
快速檢視Visual Basic運算子優先順序與結合性,解決表示式計算困惑。
按 Microsoft 文件核對的 VBA 運算子分組參考,不是 VB.NET 表或編譯器,不執行範例。一元運算沒有二元結合性,型別轉換、Null 和完整運算式規則須查 VBA 規範。 Microsoft VBA
^算術運算左結合计算左操作数的右操作数次幂,是 VB 算术运算中优先级最高的一类。
2 ^ 3-a算術運算無結合性返回操作数的相反数,优先级高于乘除但低于乘方。
-amount*算術運算左結合两个数值相乘。
price * count/算術運算左結合执行除法并返回浮点结果。
total / count\算術運算左結合执行整数除法,结果保留整数部分。
total \ 3Mod算術運算左結合返回整数除法后的余数。
index Mod 2+算術運算左結合将两个数值相加;在部分上下文中也可能参与字符串拼接。
a + b-算術運算左結合从左操作数中减去右操作数。
endValue - startValue&字串連線左結合将两个表达式转换并连接为字符串,建议优先用它表达字符串拼接。
"VB" & "Script"=比較運算左結合判断两个表达式是否相等。
status = "OK"<>比較運算左結合判断两个表达式是否不相等。
status <> "OK"<比較運算左結合判断左操作数是否小于右操作数。
age < 18>比較運算左結合判断左操作数是否大于右操作数。
score > 90<=比較運算左結合判断左操作数是否小于或等于右操作数。
count <= maxCount>=比較運算左結合判断左操作数是否大于或等于右操作数。
count >= minCountLike比較運算左結合按 VB 的通配符模式比较字符串。
fileName Like "*.txt"Is比較運算左結合判断两个对象引用是否指向同一对象,常与 Nothing 搭配。
obj Is NothingNot邏輯運算無結合性对布尔表达式取反,也可对整数执行按位取反。
Not isReadyAnd邏輯運算左結合两个条件都为 True 时结果为 True,也可执行按位与。
isReady And hasAccessOr邏輯運算左結合任一条件为 True 时结果为 True,也可执行按位或。
isAdmin Or isOwnerXor邏輯運算左結合两个布尔值不同时返回 True,相同时返回 False。
flagA Xor flagBEqv邏輯運算左結合两个布尔值相同时返回 True,不同时返回 False。
flagA Eqv flagBImp邏輯運算左結合表示逻辑蕴含关系,仅当左侧为 True 且右侧为 False 时结果为 False。
flagA Imp flagB概覽
了解工具能解決的問題、計算或處理邏輯,以及資料邊界。
這份速查表把目前列出的運算子分成算術、字串連接、比較與邏輯四類,並以 1 至 14 的級別分組;級別數字越小,表格標示的優先級越高。每張結果卡會顯示符號、名稱、說明、例子及結合性標籤,適合先找出規則,再回到自己的程式碼核對。這是靜態查詢表,不會解析或執行整段表示式。
例如 3 + 4 * 2 ^ 2:按表中分組,先處理乘方 2 ^ 2 得 4,再處理乘法 4 * 4 得 16,最後加法得到 19。若希望加法先進行,需在程式中寫成 (3 + 4) * 2 ^ 2;括號表達的意圖應以實際使用的 Visual Basic 版本規則為準。
此頁介面標籤採繁體中文;目前結果卡片內的運算子名稱及說明資料為簡體中文,符號和程式碼例子則保留原樣。若查詢目的是 VBA,可先用它定位條目,再對照 Microsoft 的 VBA 文件。
指南
依步驟完成操作,並透過範例核對輸入與結果。
可搜尋符號、名稱、說明文字、程式碼例子或級別數字,例如 Mod、Is、邏輯或 8。找不到項目時,清除關鍵字再試符號或英文運算子名稱。
類別可限定算術、字串連接、比較或邏輯運算;結合性可選左結合、右結合或無結合性。兩種篩選可以同時使用,選「全部」可恢復該條件的完整清單。
展開符合條件的級別分組,讀取卡片中的符號與範例;可分別複製符號或例子,貼回自己的程式碼編輯環境,再依目標語言版本確認語意。結果數量表示目前篩選匹配到的條目數。
情境
查看這項工具在不同工作與生活流程中的用法。
維護 Excel 或其他 Office 巨集時,搜尋 Mod、Like、Is、Eqv 等較不常見的符號,再對照 VBA 文件確認優先順序與物件比較語意。
學習者可輸入一個運算子或級別,觀察它在分組中的位置;接著手動把複合表示式拆成括號子式,逐段檢查自己的理解。
程式碼審閱時,先查明算術、比較與邏輯運算的相對層級;若讀者必須回憶多層優先規則,通常可考慮在原始程式碼加入括號提升可讀性。
問答
集中解答常見疑問與容易混淆的問題。
不是。優先順序比較不同級別誰先處理;結合性描述同一級別的運算如何分組或依序評估。這張表將兩者分欄呈現,實際語言規則仍應按 VBA、VB.NET 等版本的官方說明核對。
不可以。它列出的是目前表內的運算子,並非某一版本的完整規格;Microsoft 的 VB.NET 清單還包含 Await、AndAlso、OrElse、IsNot 和位移運算等項目。撰寫 VB.NET 時,請查對應版本的官方文件。
此頁的篩選介面標籤是繁體中文,但條目名稱和說明記錄目前以簡體中文提供。符號及程式碼例子維持程式語法原樣;可用符號搜尋,並以官方文件確認術語和版本差異。
須知
使用前了解適用範圍、結果限制與必要提醒。
Visual Basic 家族不同版本的運算子集合與規則並不完全相同。這份表只涵蓋它目前列出的 1 至 14 級條目,不能視為 VB6、VBA、VB.NET 或 VBScript 的完整共同規格;尤其 VB.NET 有本表未列的運算子。選定實際執行環境後,請以該版本的官方文件為準。
表格中的結合性是每筆條目的資料標籤,不等同於完整語言規範。舉例來說,本表把比較運算標為「無結合性」,而 Microsoft 的 VBA 說明指出同優先級比較運算依表達式中的順序由左至右評估;閱讀這類條目時應注意兩種描述口徑。表格也不會判斷變數型別、運算子多載、語句位置或程式能否編譯。複合比較與邏輯條件宜用括號清楚表達,再於實際環境檢查。
推薦
查找相關工具、專題與可用的 API 能力。