005 条件分岐(if〜else if〜else文) 013 解答例

import java.util.Scanner;

public class SeasonDisplay {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("月を入力してください (1-12): ");
        int month = scanner.nextInt();

        String season;

        if (month >= 3 && month <= 5) {
            season = "春";
        } else if (month >= 6 && month <= 8) {
            season = "夏";
        } else if (month >= 9 && month <= 11) {
            season = "秋";
        } else {
            season = "冬";
        }

        System.out.println(month + "月は" + season + "です。");

        scanner.close();
    }
}

このプログラムでは、ユーザーからの月の入力に基づいて対応する季節を判定し、表示しています。

  • Scanner クラスを使用してユーザーから月の入力を受け取ります。
  • 入力された月に対応する季節を格納するための season 文字列変数を宣言します。
  • if-else if 文を使用して、月が3月から5月の場合は「春」、6月から8月の場合は「夏」、9月から11月の場合は「秋」、それ以外の場合は「冬」と判定します。
  • 対応する季節を表示します。

このプログラムを実行すると、ユーザーが入力した月に応じて、対応する季節が表示されます。

if〜else if〜else文

if-else if-else 文は、プログラム内で複数の条件を評価し、最初に真となる条件に応じて異なるコードブロックを実行するためのJavaの制御構造です。複数の条件に対して優先順位を付け、最初に満たされる条件が評価されます。以下に、if-else if-else 文の基本的な構造と機能を解説します。

if-else if-else 文の基本的な構造は次のとおりです:

if (条件1) {
    // 条件1が真の場合に実行するコード
} else if (条件2) {
    // 条件2が真の場合に実行するコード
} else if (条件3) {
    // 条件3が真の場合に実行するコード
}
// ...
else {
    // どの条件も満たされない場合に実行するコード
}

if-else if-else 文の機能について説明します:

条件の評価順: 条件は上から下へと順番に評価され、最初に真の条件が満たされると、それ以降の条件は評価されません。つまり、条件1が真であれば、条件2および条件3は評価されません。

複数の条件: 複数の条件を評価できます。各条件に対して、異なるコードブロックを指定できます。

最終的なelse ブロック: どの条件も満たされない場合に実行されるデフォルトのコードを提供するために、最終的な else ブロックを使用できます。

条件の優先順位: 条件は上から下に評価されるため、より優先度の高い条件が最初に評価されます。条件1が真の場合、条件2および条件3は無視されます。

if-else if-else 文は、複雑な条件に対応するために使用され、条件が相互に排他的でない場合に適しています。条件ごとに異なるアクションを実行したり、複数の条件に合致する場合の優先順位を指定したりする際に役立ちます。

「005条件分岐」問題集リスト