見出し画像

Java : swithの使い方

※自分用学習メモです

Javaのswitch文は、ある変数の値に基づいて複数の条件分岐を行うための制御構造です。指定された変数の値が特定のケース(case)に一致する場合、その対応するコードブロックが実行されます。


基本的な構文

switch (変数) {
    case1:
        // 値1に対する処理
        break;
    case2:
        // 値2に対する処理
        break;
    ...
    default:
        // どのcaseにも該当しない場合の処理
}
  • 変数: 分岐条件に使う値を持つ変数です。int、char、String、enumなどが使用可能です。

  • case: switch文が変数と一致するか確認する値です。

  • break: 処理が終わったらswitch文を抜けます。breakを忘れると次のcaseも実行されてしまうので注意。

  • default: どのcaseにも一致しない場合に実行される処理です。defaultは省略可能です。


例1: 基本的なswitch文の使い方

public class Main {
    public static void main(String[] args) {
        int day = 3;

        switch (day) {
            case 1:
                System.out.println("月曜日");
                break;
            case 2:
                System.out.println("火曜日");
                break;
            case 3:
                System.out.println("水曜日");
                break;
            case 4:
                System.out.println("木曜日");
                break;
            case 5:
                System.out.println("金曜日");
                break;
            default:
                System.out.println("週末です");
        }
    }
}

出力:

水曜日
  • day が 3 のため、case 3 に一致し、"水曜日" が表示されます。その後、breakによりswitch文を抜けます。


例2: Stringを使ったswitch文

JavaではString型もswitch文に使用できます。

public class Main {
    public static void main(String[] args) {
        String fruit = "apple";

        switch (fruit) {
            case "apple":
                System.out.println("リンゴです");
                break;
            case "banana":
                System.out.println("バナナです");
                break;
            case "orange":
                System.out.println("オレンジです");
                break;
            default:
                System.out.println("不明な果物です");
        }
    }
}

出力:

リンゴです

重要なポイント

  1. breakの重要性:

    • breakがないと、その後のcaseのコードもすべて実行されてしまう(フォールスルーと呼ばれる現象)ため、必要な場合は必ずbreakを使います。

  2. defaultは省略可能:

    • defaultは、caseに一致しない場合の処理を指定しますが、必要なければ省略可能です。

switch文が適用できるデータ型

  • byte, short, int, char

  • String

  • enum(列挙型)

  • Character, Byte, Short, Integer(ラッパークラスのオートボクシング)


まとめ

  • switch文は、条件分岐の一種で、複数のcaseから該当するものを選択して実行します。

  • breakを使って不要な処理を避けるようにすることが重要です。

  • switch文はif文よりも多くの条件分岐がある場合に使うとコードが見やすくなります。

この記事が気に入ったらサポートをしてみませんか?