Ternary Operator
CoddyのJavaジャーニー「基礎」セクションの一部 — レッスン 30/73。
三項演算子は、シンプルな1行のif-else文です。以下の構文を持ちます:
variable = (condition) ? value_if_true : value_if_false;三項演算子は条件を評価します。条件がtrueの場合、変数にvalue_if_trueを割り当てます。それ以外の場合は、value_if_falseを割り当てます。
例:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";この例では、age が 18 以上であるため、message に "Adult" の値が割り当てられます。もし age が 18 未満であれば、message に "Minor" が割り当てられます。
三項演算子をネストして複数の条件を扱うことができます:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";これは順番に複数の条件をチェックします。score >= 90 の場合、grade は "A" になります。それ以外に score >= 80 の場合、grade は "B" になります。それ以外に score >= 70 の場合、grade は "C" になります。それ以外は "F" です。
注意: ネストされた三項演算子は読みにくくなることがあります。複雑な条件の場合、if-else 文を使用することをおすすめします。
チャレンジ
初心者三項演算子を使用して、数値が正、負、またはゼロかどうかをチェックするプログラムを作成してください。プログラムは次のようにするべきです:
- ユーザーから整数入力を取得します。
- 三項演算子を使用して、数値が正、負、またはゼロかどうかを判定します。
- 結果を次の形式で出力します:
"The number is [positive/negative/zero]"。
チートシート
三項演算子は、1行の if-else 文で、構文は以下の通りです:
variable = (condition) ? value_if_true : value_if_false;それは条件を評価し、条件が true の場合に value_if_true を割り当て、そうでなければ value_if_false を割り当てます。
例:
int age = 20;
String message = (age >= 18) ? "Adult" : "Minor";複数の条件を扱うためのネストされた三項演算子:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";これは複数の条件を順番にチェックします。 score >= 90 の場合、grade は "A" になります;そうでなければ score >= 80 の場合、grade は "B" になります;そうでなければ score >= 70 の場合、grade は "C" になります;それ以外は "F" です。
注意: ネストされた三項演算子は読みにくい場合があります。複雑な条件の場合、if-else 文を使用してください。
自分で試してみよう
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
String result = "";
// ここにコードを記述してください
System.out.println("The number is " + result);
scanner.close();
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else