Java 三元運算符使用

java 提供了三元運算符(也叫三目運算符)可以用來代替 if else 語句。有的時候使用三元運算確實比 if else 要簡潔的多(個人認爲)

語法
result = <expression> ? <operation1> : <operation2>;

因爲使用三元運算時需要有三個操作數,所以稱爲三元運算符。expression 是一個布爾表達式。當 expressiontrue 時,執行 operation1, 否則就執行 operation2。這樣既可實現簡單的二分支程序。

示例1

普通 if else 表達

boolean find;
if (10 > 20) {
  find = true;
} else {
  find = false;
}
System.out.println(find);

三元運算符表達

boolean find = 10 > 20 ? true : false;
System.out.println(find);

相比之下三元運算無疑更加方便,簡潔

示例2

三元運算可以取代一般的 if else 語句,僅當 if else 語句中內嵌的語句爲賦值語句(且兩個分支都給同一變量賦值)時才能代替 if else 語句。

if (10 > 20) {
  System.out.println(10);
} else {
  System.out.println(20);
}

// 不能寫爲以下方式
10 > 20 ? System.out.println(10) : System.out.println(20);

// 需要這樣定義
System.out.println(10 > 20 ? 10: 20);

對了,三元運算支持嵌套,但是個人不推薦使用嵌套,會變的難以理解,如下所示,兩個表達式是相等的

// x > 0 嗎? true 返回 1, false 接着判斷 x < 0 嗎? true 返回 -1 false 返回 0
x > 0 ? 1 : x < 0 ? -1 : 0
// 同上
x > 0 ? 1 : (x < 0 ? -1: 0)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章