Menu
Coddy logo textTech

Switch Statement

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

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

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

switch (variable) {
    case value1:
        // variable が value1 と等しい場合に実行するコード
        break;
    case value2:
        // variable が value2 と等しい場合に実行するコード
        break;
    // ... その他のケース
    default:
        // どのケースにも一致しない場合に実行するコード
}
  • switch キーワードの後には、テストしたい variable を括弧内に記述します。
  • case は、variable が取り得る値を表します。
  • variable がその case の値に一致(matches)した場合、その case 内のコードが実行されます。
  • break ステートメントは非常に重要です。case が実行された後、switch を終了します。これがないと、処理は次の case に「フォールスルー(通り抜け)」してしまいます。
  • default ケースは任意であり、他のどの case にも matches しない場合に実行されます。

以下は例です:

int day = 3;
String dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... 他の曜日のケース
    default:
        dayName = "Invalid day";
}

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

int day = 3;
String dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... 他の日のケース
    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" と出力してください。

自分で試してみよう

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腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: Javaオンラインコンパイラ