Menu
Coddy logo textTech

Switch Statement

CoddyのJavaジャーニー「基礎」セクションの一部 — レッスン 29/73。

switch 文は、多分岐の if 文のようなものです。単一の条件を評価する代わりに、変数の値を複数のケースに対して照合し、一致するケースに関連付けられたコードを実行します。

以下は switch 文の基本構造です:

switch (variable) {
    case value1:
        // Code to execute if variable equals value1
        break;
    case value2:
        // Code to execute if variable equals value2
        break;
    // ... more cases
    default:
        // Code to execute if no case matches
}
  • switch キーワードの後には、テストしたい変数を括弧で囲みます。
  • case は変数の可能な値を示します。
  • case 内のコードは、変数がその case の値に一致する場合に実行されます。
  • break 文は重要です。ケースが実行された後に switch から抜け出します。それがないと、実行は次のケースに「fall through」します。
  • default ケースはオプションで、他のケースが一致しない場合に実行されます。

以下は例です:

int day = 3;
String dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... cases for other days
    default:
        dayName = "Invalid day";
}

複数の case を1つにまとめることもできます:

int day = 3;
String dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... cases for other days
    default:
        dayName = "Invalid day";
}
challenge icon

チャレンジ

初心者

月番号(1 が 1月、2 が 2月など)を受け取り、それが属する季節を出力するプログラムを作成してください。switch 文を使用してロジックを実装します。

季節とそれに対応する月は以下の通りです:

  • Winter:12月 (12)、1月 (1)、2月 (2)
  • Spring:3月 (3)、4月 (4)、5月 (5)
  • Summer:6月 (6)、7月 (7)、8月 (8)
  • Autumn:9月 (9)、10月 (10)、11月 (11)

その他の月番号の場合、"Invalid month" を出力してください。

チートシート

switch 文は、変数を複数のケースに対してチェックする多方向条件分岐です:

switch (variable) {
    case value1:
        // Code to execute if variable equals value1
        break;
    case value2:
        // Code to execute if variable equals value2
        break;
    default:
        // Code to execute if no case matches
}

主な構成要素:

  • case:変数の可能な値を示します
  • break:ケースが実行された後に switch を終了します(フォールスルーを防ぎます)
  • default:他のケースが一致しない場合に実行されるオプションのケース

複数のケースを結合できます:

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    default:
        dayName = "Invalid day";
}

自分で試してみよう

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int month = scanner.nextInt();
        String season = "";
        
        // ここにコードを書いてください
        
        
        System.out.println(season);
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン