三元運算符,也稱為「三目運算符」,在Java、C、C++、Python、JavaScript、PHP等程式語言中提供條件判斷途徑,簡化if語句撰寫。其語法為:
table
condition ? consequent : alternative
其中,condition
為布林運算式,結果為真或假。若為真,則傳回 consequent
值,為假則傳回 alternative
值。


範例:
java
int age = 18;
String result = age >= 18 ? "成年" : "未成年";
運算結果為 成年
,因為 age
大於或等於 18。
值得注意的是,三元運算符是右結合運算子,即下式運算:
java
bool.CompareTo(age >= 18 ? true : false)
傳回 true
,因為 age
大於或等於 18。
此外,三元運算符支援條件引用運算式,允許條件傳回變數參考。例如:
java
string name = "John";
ref person = name != null ? ref person : null;
若 name
不為空, person
將指向 name
參考。
三元運算符的目標型態為 consequent
和 alternative
隱含轉換成的型態。若目標型態未知, consequent
和 alternative
型態相同或可相互轉換。
三元判斷:簡潔易懂的條件式代碼表示法
三元判斷(又稱條件運算元)是一種在程式語言中用於簡潔表達條件式代碼的方式。它同時包含一個條件判斷和兩個可能的執行結果,並根據條件是否成立來執行不同的結果。
三元判斷語法
三元判斷的語法格式如下:
條件 ? 如果成立 : 如果不成立
其中:
- 條件:一個布林值表達式,決定是否執行 如果成立。
- 如果成立:如果條件為真,執行此表達式。
- 如果不成立:如果條件為假,執行此表達式。
運作原理
三元判斷本質上是一個簡化的 if-else 結構:
if (條件) {
// 如果條件為真,執行這個程式碼區塊
} else {
// 如果條件為假,執行這個程式碼區塊
}
而三元判斷將此簡化為一行:
優點與缺點
使用三元判斷有以下優點:
- 簡潔:它能簡化複雜的條件判斷,特別是在需要在同一行表達條件和結果的情況下。
- 可讀性:三元判斷在某些情況下比傳統的 if-else 結構更容易閲讀。
然而,三元判斷也有一些缺點:
- 巢狀使用:如果條件判斷複雜,嵌套使用三元判斷可能難以閲讀和維護。
- 可維護性:在某些情況下,使用傳統的 if-else 結構可能更容易除錯和修改程式碼。
常見應用場景
三元判斷常被用於以下情況:
程式碼 | 描述 |
---|---|
num > 0 ? "正數" : "非正數" |
根據 num 是否大於 0,設定變數的值。 |
isMember ? "會員" : "非會員" |
根據 isMember 是否為 true,顯示不同的字串。 |
(a == b) ? "相等" : "不相等" |
檢查 a 和 b 是否相等,並返回相應的結果。 |
結論
三元判斷是一種強大的程式碼簡化工具,可以使程式碼更簡潔易讀。然而,在使用時應注意其可維護性和可讀性。透過適當的使用,三元判斷可以幫助程式碼撰寫者更有效率地表達條件判斷。