switchで指定した変数、もしくは演算結果の値により、条件分岐を行う。
書式
switch(変数、演算){
case 条件1: 処理;
case 条件2: 処理;
〜略
default: ブロック内に記述した条件以外の場合の処理。省略可。
}
例
class SwitchTest{
public static void main(String args[]) {
int i = (int)(Math.random() * 4);
switch(i){
case 0:
System.out.println("おはよう");
break;
case 1:
System.out.println("こんにちは");
break;
case 2:
System.out.println("こんばんわ");
break;
default:
System.out.println("?");
break;
}
}
}
結果
iの値によって異なる(ランダム)
メモ。
switch(変数1 + 変数2) のように、式を書くこともできる。(boolean式は不可)
たとえば以下のコードの場合、(breakを使用していない)
class SwitchTest{
public static void main(String args[]) {
int i = (int)(Math.random() * 4);
switch(i){
case 0: System.out.println("おはよう");
case 1: System.out.println("こんにちは");
case 2: System.out.println("こんばんわ");
default: System.out.println("?");
}
}
}
i の値が0の場合、case 0: 以下のすべての処理が実行されてしまう。これを応用することにより、柔軟な処理を行うこともできるが、値によって処理を分けたいときはbreakを使用してブロックを抜ける。