Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ JavaにおけるSwitch文 | 演算子と条件分岐
Java入門

JavaにおけるSwitch文

メニューを表示するにはスワイプしてください

これまで、ifelseelse if がさまざまな状況に対応する主な手段でした。これらは条件、範囲、比較の判定に適しています。

しかし、範囲の比較ではなく、1つの変数を複数の正確な値と比較したい場合もあります。例えば:

  • 顧客が支払い方法を選択する場合
  • コーヒー注文で特定の受け取り方法を指定する場合
  • ロイヤルティメンバーが報酬ランクを選択する場合

このような場合に**switch文**が役立ちます。1つの値を複数の正確な値と比較し、より整理された形で記述できます。

構造

switch (variable) {
    case "value1" -> {
        // code
    }

    case "value2" -> {
        // code
    }

    default -> {
        // fallback code
    }
}

Javaは各caseを順番にチェックし、一致するものを見つけます。

Main.java

Main.java

1234567891011121314151617181920212223242526
package com.example; public class Main { public static void main(String[] args) { String pickupType = "delivery"; switch (pickupType) { case "pickup": System.out.println("Your coffee will be ready at the counter"); break; case "delivery": System.out.println("Your coffee is on the way"); break; case "dine-in": System.out.println("Enjoy your coffee inside the cafe"); break; default: System.out.println("Unknown order type"); break; } } }

JavaはpickupTypeをケースごとに判定します。"pickup"は一致せず、"delivery"が一致するため、"Your coffee is on the way"が出力され、breakですぐにswitch文が終了します。一番下のdefaultブロックは最終的なelseのように機能し、どのケースにも一致しない場合のみ実行されます。

Java 14以降 — 新しいswitch構文

Java 14以降では、->アローを使った新しい構文が導入されました。

switch (pickupType) {
    case "pickup" -> System.out.println("Your coffee will be ready at the counter");
    case "delivery" -> System.out.println("Your coffee is on the way");
    case "dine-in" -> System.out.println("Enjoy your coffee inside the cafe");
    default -> System.out.println("Unknown order type");
}

変更点:

  • breakが不要;
  • ->の代わりに:を使用;
  • 各ケースが自動的に分離され、フォールスルーのリスクなし;
  • よりシンプルで読みやすい。

どちらのバージョンも動作は同じですが、新しい構文の方が現代的で安全です。

覚えておくべきルール:

  • 比較や範囲にはif / else ifを使用;
  • 1つの値を複数の正確な選択肢と比較する場合はswitchを使用。
question mark

break内のswitch文の目的は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  6

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  6
some-alt