Javaのswitch文で、複数の条件をひとつの処理に対応させたいというときはあるはずだ。
このページではその書き方についてお伝えする。使い方は簡単で、1分でわかるだろう。
Switchで複数条件を1処理に設定する
Javaのswitch文は、式の値によって制御をいくつかの文の中のひとつに渡す。この時、いくつかのラベルを同じひとつ文に紐付けさせることができる。
値が1であっても2であっても同じ文が実行されるように紐付けられるのである。
1 2 3 4 5 6 7 8 9 10 |
switch ( 式 ) { case 定数1: case 定数2: 文12; break; case 定数3: case 定数4: 文34 break; } |
ラベルはcaseと定数によって作られている。このラベルをいくつか同じ文に関連させるために、それらのラベルを続けて書いて関連させる文を最後に置く。こうすると、連続して書かれたすべてのラベルが最後に置いた文に紐付けされる。書き方の基本はこうだ。
では、この点をサンプルプログラムで確認してみよう。
式がint型のサンプルプログラム
このサンプルプログラムは、式にint型の変数numberを使っている。この変数の値に対応したラベルに続く文、文字列の表示が行われる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class SwitchHavingMultiLabel { public static void main (String[] args){ int number = 3;//[1] switch (number) {//[2] case 1://[3] case 2://[4] System.out.println("[5] number = 1, 2"); break;//[6] case 3://[7] case 4://[8] case 5://[9] System.out.println("[10] number = 3, 4, 5"); break;//[11] } } } |
実行結果
1 |
[10] number = 3, 4, 5 |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1]変数numberを宣言し、初期値の3を代入する。
- [2][3][4] もしnumberが1か2ならば、「number = 1, 2」を表示する。
- [5] 中断して、switch文を終わる。
- [2][6][7][8][9][10] もしnumberが3か4か5ならば、「number = 3, 4, 5」を表示する。
- [11] 中断して、switch文を終わる。
まとめ
簡単だが、このようにJavaのswitch文では設定ができる。覚えておきたい。