軌道
/
Java
Java
/
課程大綱
/
三元運算子
三元

三元運算子 在 Java

1 個練習

關於 三元運算子

_三元運算子_可以想成是 if-else 的精簡版。它通常用在 return 敘述裡(但不限於此),只要一行就能做出判斷:如果運算式是true,就回傳左邊的值;如果是false,就回傳右邊的值。

許多簡單的 if/else 運算式都能用_三元運算子_簡化。

// this ternary statement
return 5 > 4 ? true : false;

// is equivalent to this if/else
if ( 5 > 4 ) {
    return true;
} else {
    return false;
}

那麼,該怎麼在 if-else 和_三元運算子_之間做選擇呢?_三元運算子_適合用在簡單的情境:只要根據某個條件回傳一個值,不需要額外運算。其他情況就該用 if-else,例如巢狀條件、大型運算式,或是需要好幾行才能決定回傳值的時候。

雖然_三元運算子_可以巢狀使用,但程式碼往往會變得難以閱讀。這種時候,巢狀的 if 會是比較好的選擇。

// hard to read
int value = expr1 ? expr2 && expr3 ? val1 : (val2 + val3) : expr4;

// easier to read
if (expr1){

    if (expr2 && expr3){

        return val1;
    }

    return val2 + val3;
}
return val4;


_三元運算子_和 if/else 敘述就是個很好的例子,說明寫程式時,同樣的結果可以有不同的達成方式。

想看更多範例,可以參考這個和這個。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟

學習 三元運算子