Javaのswitch文とは?
変数の値によって、処理を分岐させる処理を実装するのがswitch文
基本構文
switch (変数) {
case 値1:
処理1;
break;
case 値2:
処理2;
break;
default:
デフォルト処理
}
breakに処理が停止される。つまり、case 値1のbreakがない場合は、処理1と処理2が実行される。case 値:の:はコロン。セミコロンではないことに注意。defaultはどのcaseの処理も実行されなかった場合に実行される。省略可能。- 変数として利用できるのは整数型(long型以外)String型。
Java 14 からswitch 式(アロー構文)が正式機能。
データ型 受け取る変数名 = switch (判定する変数) {
case 値1 -> 返す値1;
case 値2 -> 返す値2;
case 値3 -> 返す値3;
default -> デフォルトの値;
};
例文
public class SwitchSample {
public static void main(String[] args) {
String signal = "red";
switch (signal) {
case "red":
System.out.println("止まれ");
break;
case "yellow":
System.out.println("注意");
break;
case "green":
System.out.println("進め");
break;
default:
System.out.println("不明な信号");
}
}
}
switch文をswitch式(アロー構文)で書き直した例:
public class SwitchSampleArrow {
public static void main(String[] args) {
String signal = "red";
String action = switch (signal) {
case "red" -> "止まれ";
case "yellow" -> "注意";
case "green" -> "進め";
default -> "不明な信号";
};
System.out.println(action);
}
}