ホーム > Java > 第4章-2 switch文

Java -switch文-

switchは、式の値によって多重分岐を行うための構文です。

switch文の書式

switch文 []は省略可能
switch(式){
    case 値1:
      [処理1;]
      [break;]
    case 値2:
      [処理2;]
      [break;]
    (中略)
    case default:
      [処理x;]
      [break;]
}

switch文では、式の値がcase文の値1と同じならば処理1を実行し、 値2と同じならば処理2を実行するというように分岐します。
defaultを指定すると、一致する値がない場合には処理xを実行します。
defaultは、省略可能ですが、省略した場合、一致する値がない場合には何も実行されません。
switch文の式は、必ずbyte,short,char,intのいずれかのデータ型または列挙型を出力するものでなければなりません。
case文の後ろの値を指定する個所にを指定することはできません。

break文の利用

通常は、それぞれのcase文によって実行される処理の最後にbreak文を記述します。
break文が実行された時点でswitch文が終了します。

break文が抜けていると、その下の行に記述された処理も実行されます。

default文

default文は、switch文の最後に記述することが多いですが、case文とcase文の間または、switch文の最初に記述することもできます。
どこに記述しても、すべてのcaseの値が該当しないのみdefault文の処理が実行されます。

case文の値の制限

  • case文で指定する値は、switch文で指定した式が出力するデータ型の範囲内になければなりません。
  • char型の式の場合、case文の値として負数を指定できません。
  • 1つのswitch文のcase文に同じ値を複数指定することはできません。
  • caseの後ろの値には、列挙型や定数、ラッパークラスを指定することもできます。