網頁

2019/5/30

Java 三元運算子(ternary operator)用法

Java唯一的三元運算子(ternary operator)booleanExpression ? expression1 : expression2又稱為條件運算子(conditional operator)用法如下。

ternary operator其實就是if {...} else {...} 的簡短寫法。

三元運算子的?前面要放的是布林表示式,也就是說表示式的結果必須為boolean值。

三元運算子的?後面則為前面布林表示式結果要返回的值。

?前面的布林表示式結果為true,則返回?後,:前的值;
若布林表示式結果為false,則返回:後的值。

boolean result1 = true ? true : false;
System.out.println(result1); // true

String result2 = true ? "A" : "B";
System.out.println(result2); // A

String result3 = false ? "A" : "B";
System.out.println(result3); // B

String result4 = (result3.length() > 1) ? "A" : "B";
System.out.println(result4); // B


工作中發現不少人有下面的奇怪寫法。由於checkOperation()的結果已經是布林直接回傳即可,但卻多此一舉再用三元運判斷並返回truefalse

boolean success = checkOperation();
return success == true ? true : false; // <-- 不要這樣寫

改成下面既清楚又簡短。

return checkOperation();

沒有留言:

張貼留言