導入
「合格なら”合格”、そうでなければ”不合格”」のような、値そのものを条件で出し分けるだけの短い処理に、わざわざ if を書くのは大げさに感じることがあります。そんなときの三項演算子です。
説明
三項演算子は 条件 ? 値1 : 値2 の形で書きます。条件が true なら値1、false なら値2 になります。
public class Main {
public static void main(String[] args) {
int score = 72;
String result = (score >= 60) ? "合格" : "不合格";
System.out.println(result);
int a = 5, b = 8;
int max = (a > b) ? a : b;
System.out.println(max);
}
}
(score >= 60) ? "合格" : "不合格"… 条件score >= 60がtrueなら"合格"、falseなら"不合格"という式全体が1つの値になります。if/elseと違って、こちらは値を作る式なので、そのまま変数への代入やprintlnの引数に使えます。- 「?」の前が条件、「:」の前後がそれぞれ true のときの値/false のときの値、と覚えましょう。
やってみよう
下のエディタで score の値をいろいろ変えて、result がどう変わるか確かめましょう。a と b を入れ替えて max の結果も確認してください。
演習
int temp = 15; を用意し、temp が25以上なら "暑い"、そうでなければ "涼しい" を kind という変数に三項演算子で入れて表示してください(結果は 涼しい)。
ヒント1を見る
String kind = (temp >= 25) ? "暑い" : "涼しい"; と書きます。
ヒント2を見る
System.out.println(kind);。