三項条件分岐について

コードを見ていたらクエスチョンマークを使った条件分岐を見つけましたが、javaの参考書などでチラッと出てきた程度で全然覚えていなかったので、これを機にメモしておきます。

if-else文を以下のように書くことが出来ます。

String ans;
int num;
ans = num > 10 ? "high" : "low";

?の前がtrueの時に:の手前、falseの時に:の後ろがansに代入されます。 これは以下と同じです。

if(num>10){
 ans = "high";
} else {
 ans = "low";
}

()も{}も無いので少し気持ち悪く感じますが、文字数が多い条件分岐を省略する時に覚えておくと便利と思いました。