複数のラベルを対応させる

広告

switch文におけるラベルは処理の移動先の目印でしかないので複数のラベルを続けて記述することも可能です。例えば次のような使い方はよく行います。

int num = 3;

switch (num){
  case 1:
  case 2:
    System.out.println("不満がある");
    break;
  case 3:
    System.out.println("どちらとも言えない");
    break;
  case 4:
  case 5:
    System.out.println("満足している");
}

上記では変数「num」の値が1または2の時には「System.out.println("不満がある");」を実行します。また変数「num」の値が4または5の時には「System.out.println("満足している");」を実行します。

このようにswitch文におけるラベルは目印でしかありませんので、任意の位置にラベルを何枚も付けておくことができます。

サンプル

では簡単な例で試しておきます。

JSample5_1.java

class JSample5_1{
  public static void main(String args[]){

    for (int num = 2; num < 6 ; num++){
      System.out.println("num = " + num);

      switch (num){
        case 1:
        case 2:
          System.out.println("不満あり");
          break;
        case 3:
          System.out.println("どちらでもない");
          break;
        case 4:
        case 5:
          System.out.println("満足している");
      }
    }
  }
}

コンパイル後に実行すると次のように表示されます。

p5-1

( Written by Tatsuo Ikura )