switch文

switch文について

switch文は、if文と同様に条件により処理を分岐させたい場合に使用します。

switch図

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型が使用できるようになりました。

コメント

タイトルとURLをコピーしました