Java switch文をマスター:構文、使い方、ベストプラクティス
Java switch文
明確な例とベストプラクティスで、Java switch文がプログラムフローをどう制御するかを発見しましょう。
switch文を使用すると、式の値に基づいて複数の選択肢から単一のコードブロックを実行できます。
Javaにおけるswitch文の構文は:
switch (expression) {
case value1:
// コード
break;
case value2:
// コード
break;
...
default:
// デフォルト文
}
switch-case文はどう動作する?
expressionは1回評価され、各caseの値と比較されます。
- expressionがvalue1と一致する場合、
case value1内のコードが実行されます。同様にvalue2と一致する場合、対応するブロックが実行されます。 - 一致するものが見つからない場合、defaultブロックが実行されます。
注意: 機能的にはif…elseラダーと似ていますが、switchはよりクリーンで読みやすい構文を提供します。
例: Java switch文
// サイズをチェックするJavaプログラム
// switch...case文を使用
class Main {
public static void main(String[] args) {
int number = 44;
String size;
// サイズをチェックするswitch文
switch (number) {
case 29:
size = "Small";
break;
case 42:
size = "Medium";
break;
// weekの値を一致
case 44:
size = "Large";
break;
case 48:
size = "Extra Large";
break;
default:
size = "Unknown";
break;
}
System.out.println("Size: " + size);
}
}
出力:
Size: Large
上記の例では、変数numberが各caseと比較されます。numberが44と等しい場合、case 44のブロックが実行され、sizeにLargeが代入されます。
ここで、size変数は値Largeを受け取り、プログラムはSize: Largeを出力します。
推奨リーディング: Java switch文を使用したシンプルな電卓の作成
switch文のフローチャート

Java switch…caseにおけるbreak文
各caseブロックは通常、意図しないフォールスルーを防ぐためにbreakで終了します。
...
case 29:
size = "Small";
break;
...
breakがない場合、一致後も後続のcaseに実行が続きます。例えば:
class Main {
public static void main(String[] args) {
int expression = 2;
// サイズをチェックするswitch文
switch (expression) {
case 1:
System.out.println("Case 1");
// 一致するcase
case 2:
System.out.println("Case 2");
case 3:
System.out.println("Case 3");
default:
System.out.println("Default case");
}
}
}
出力
Case 2 Case 3 Default case
breakが省略されたため、case 2に一致した後、プログラムはcase 3とdefaultブロックも実行しました。各case後にbreakを含めることで、一致するブロックのみが実行されることを保証します。
詳細については、Java break文を参照してください。
Java switch-caseのdefaultケース
default句はオプションで、どのcase値とも一致しない場合に実行されます。例えば:
class Main {
public static void main(String[] args) {
int expression = 9;
switch(expression) {
case 2:
System.out.println("Small Size");
break;
case 3:
System.out.println("Large Size");
break;
// defaultケース
default:
System.out.println("Unknown Size");
}
}
}
出力
Unknown Size
expression(9)がどのcaseとも一致しなかったため、defaultブロックが実行され、Unknown Sizeが出力されました。
注意: Javaのswitch文は以下の型をサポートします:
- プリミティブデータ型: byte、short、char、int
- 列挙型(enum)
- Stringクラス
- ラッパークラス: Character、Byte、Short、Integer
Java
- C# switch 文をマスターする:構文、例、ベストプラクティス
- C++ switch-case文完全ガイド:構文、フロー、実践的な計算機例
- C言語switch文完全マスター:構文、フロー、実践例
- C++ switch文をマスター:構文、使い方、実践例
- Java演算子をマスター:種類、構文、実践例
- Javaコメント:種類、使い方、ベストプラクティス
- Java拡張forループをマスター:構文、例、ベストプラクティス
- Java文字列をマスター:生成、メソッド、ベストプラクティス
- Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
- Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
- Javaアノテーション完全ガイド:種類、配置場所、実践例