Menu
Coddy logo textTech

switch文

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

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

switch文の基本的な構造は次のとおりです。

switch (variable) {
    case value1:
        // variable が value1 と等しい場合に実行するコード
        break;
    case value2:
        // variable が value2 と等しい場合に実行するコード
        break;
    // ... その他のケース
    default:
        // どのケースにも一致しない場合に実行するコード
}
  • switchキーワードの後に、かっこ内でテストする変数を指定します。
  • caseは、変数が取り得る値を表します。
  • 変数がそのcaseの値と一致すると、そのcase内のコードが実行されます。
  • break文は重要です。caseが実行された後にswitchを終了します。これがないと、実行は次のcaseに「フォールスルー」します。
  • default caseは省略可能で、他のcaseが一致しない場合に実行されます。

例を見てみましょう:

int day = 3;
String dayName;

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

複数のケースを 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はJanuary、2はFebruaryなど)を受け取り、その月が属する季節を出力するプログラムを作成してください。ロジックにはswitch文を使用してください。

季節と対応する月は次のとおりです:

  • Winter:December (12)、January (1)、February (2)
  • Spring:March (3)、April (4)、May (5)
  • Summer:June (6)、July (7)、August (8)
  • Autumn:September (9)、October (10)、November (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オンラインコンパイラ