目次
1.基本構文
2.条件によって出力の内容が異なる場合
3.条件によって代入する値が異なる場合
4.return文に記載する場合
5.応用編
1. 基本構文
条件 ? trueの場合 : falseの場合
三項演算子を使用することで、コードの記述量を減らし実装を簡潔にすることができます。
また、if文のネストが深くなりすぎるのを防ぐこともできます。
では実際の実装例を見ていきましょう。
※実装例に記載の魚リストの要素数はさいごまで2のままです。
2. 条件によって出力の内容が異なる場合
if文ver.
// 魚リスト
List<String> fishList = new ArrayList<String>();
fishList.add("まぐろ");
fishList.add("かつお");
// if文ver.
if (fishList.size() >= 3) {
System.out.println("要素数は3以上です");
} else {
System.out.println("要素数は3以上ではありません");
}
三項演算子ver.
// 魚リスト
List<String> fishList = new ArrayList<String>();
fishList.add("まぐろ");
fishList.add("かつお");
// 三項演算子ver.
System.out.println(fishList.size() >= 3 ? "要素数は3以上です" : "要素数は3以上ではありません");
出力結果は、if文ver、三項演算子ver、どちらも「要素数は3以上ではありません」。
3. 条件によって代入する値が異なる場合
if文ver.
// 魚リスト
List<String> fishList = new ArrayList<String>();
fishList.add("まぐろ");
fishList.add("かつお");
// if文ver.
String str1 = "";
if (fishList.size() >= 3) {
str1 = "要素数は3以上です";
System.out.println(str1);
} else {
str1 = "要素数は3以上ではありません";
System.out.println(str1);
}
三項演算子ver.
// 魚リスト
List<String> fishList = new ArrayList<String>();
fishList.add("まぐろ");
fishList.add("かつお");
// 三項演算子ver.
String str2 = fishList.size() >= 3 ? "要素数は3以上です" : "要素数は3以上ではありません";
System.out.println(str2);
出力結果はどちらも「要素数は3以上ではありません」。
4. return文に記載する場合
if文ver.
public static void main (String args[]) {
// 魚リスト
List<String> fishList = new ArrayList<String>();
fishList.add("まぐろ");
fishList.add("かつお");
// 判定メソッド呼び出し
System.out.println(isTrue(fishList));
}
// 判定メソッド
// リストの要素数が3以上の場合true、3より少ない場合falseを返却
private static boolean isTrue(List<String> list) {
if (list.size() >= 3) {
return true;
}
return false;
}
三項演算子ver.
public static void main (String args[]) {
// 魚リスト
List<String> fishList = new ArrayList<String>();
fishList.add("まぐろ");
fishList.add("かつお");
// 判定メソッド呼び出し
System.out.println(isTrue(fishList));
}
// 判定メソッド
// リストの要素数が3以上の場合true、3より少ない場合falseを返却
private static boolean isTrue(List<String> list) {
return (list.size() >= 3 ? true : false);
}
出力結果はどちらも「false」。
5. 三項演算子の応用
if文ver.
// 魚リスト
List<String> fishList = new ArrayList<String>();
fishList.add("まぐろ");
fishList.add("かつお");
// if文ver.
if (fishList.size() == 0) {
System.out.println("要素数は0です");
} else if (fishList.size() >= 3) {
System.out.println("要素数は3以上です");
} else {
System.out.println("要素数は3以上ではありません");
}
三項演算子ver.
// 魚リスト
List<String> fishList = new ArrayList<String>();
fishList.add("まぐろ");
fishList.add("かつお");
// 三項演算子ver.
System.out.println(fishList.size() == 0 ? "要素数は0です" : (fishList.size() >= 3 ? "要素数は3以上です" : "要素数は3以上ではありません"));
魚リストの要素数が0でない場合、コロン右の()内の処理が行われます。
要素数は3より少ないため、2つ目のコロン右の文字列が出力されます。
応用としてこちらの記事に記載しましたが、こちらはコードが難解になるためおすすめしません。
出力結果はどちらも「要素数は3以上ではありません」。