switch文について
switch文は、if文と同様に条件により処理を分岐させたい場合に使用します。
switch文で書ける処理はif文でも書けますが、
switch文のほうが見た目がすっきりと書くことができます。
switch構文
switch (<変数>){
case <条件1>:
//変数=条件1の場合に行う処理
break;
case <条件2>:
//変数=条件2の場合に行う処理
break;
default:
//上記条件に当てはまらない場合の処理
}
各case句の最後にbreak;を記述しないと、後続のcase処理も実行されてしまうためご注意ください。
- switch句に指定できる変数の型は以下のもののみです。
byte、short、int、char、Byte、Short、Integer、Character、String、enum - case句に指定する値に変数は指定できません。
(ただし、final修飾した変数(=定数)なら指定できます。) - default句はどこに定義しても構いません。(一番最後でなくてもOK)
switch文サンプルソース
- (SwitchSample.java)
-
public class SwitchSample { public static void main(String args[]) { //引数を受け取る int i = (args.length==0)?0:Integer.parseInt(args[0]); switch (i){ case 1: // i==1の場合の処理 System.out.println("AAA"); break; case 2: // i==2の場合の処理 System.out.println("BBB"); break; default: // iが上記以外の場合の処理 System.out.println("CCC"); } } }
複数の値で同じ処理を行いたい場合は、以下のようにcaseを並べて書くこともできます。
- (1,2の場合は処理1、3,4,5の場合は処理2を行う例)
-
switch (i){ case 1: case 2: // 処理1 break; case 3: case 4: case 5: // 処理2 break; }
備考
- JavaSE7からswitch文の変数型にString型が使用できるようになりました。
コメント