import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("テストの点数を入力してください: ");
int score = scanner.nextInt();
// 条件演算子を使用して評価を行う
String result = (score >= 90) ? "優秀" :
(score >= 80) ? "良好" :
(score >= 70) ? "可" :
"不可";
System.out.println("評価: " + result);
}
}
このプログラムでは、ユーザーにテストの点数を尋ね、それに対して条件演算子を使用して優秀、良好、可、不可のいずれかの評価を決定し、結果を表示しています。
複数の条件演算子を組み合わせた構造
複数の条件演算子を組み合わせることで、複雑な条件判定を簡潔に表現することができます。これにより、冗長な if-else 文を減らし、コードをスッキリとさせることができます。以下はその基本的な形式です。
result = (condition1) ? value1 :
(condition2) ? value2 :
(condition3) ? value3 :
defaultValue;
この例では、condition1
が true
の場合は value1
、そうでなければ condition2
が true
の場合は value2
、といった具体的なルールで条件判定が進みます。最終的にどの条件も true
にならない場合は defaultValue
が代入されます。
以下は、3つの数値 a
、b
、c
の中で最大の数を見つける例です。
int a = 5;
int b = 8;
int c = 3;
int max = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
System.out.println("最大の数は: " + max);
この例では、まず a > b
が true
ならば ((a > c) ? a : c)
の部分が評価され、そうでなければ ((b > c) ? b : c)
の部分が評価されます。これにより、a
、b
、c
の中で最大の数が求められます。