分岐(switch)

分岐とはプログラム言語が、開発者が実現したい「処理」内の条件による判定処理を表現するために
if文と共に用意された最も基本的な構文の1つです。

switch文の構文

switch文の構文
switch ( 判定条件となる変数 ) {

case 変数の値A:

変数が変数の値Aに一致したときの処理;

break;

case 変数の値B:

変数が変数の値Bに一致したときの処理;

break;

default:

変数が変数の値A及びBに該当しないときの処理;

break;

}

変数の型は、プリミティブ型のbyte,short,char,int及びオブジェクト型のString,Enum,Byte,Short,Charcter,Integerが利用できます。

case句の表現する値は、変数の型と同じです。
int型ならば case 1:と記述し、 char型なら case 'a': 、String型ならば case "hoge": というように型を合わせます。

ちなみに、String型が利用できるようになったのは、Java7からです。

case句は、変数の型の範囲以内であれば、複数定義が可能です。

if文のelse if を複数記述するケースにおける有効な代替文法です。

switch文のサンプル

String型のswitch文のサンプル
    String confirmCode = "01";
    String labelValue = "";

    switch ( confirmCode ) {
        case "01" :
            labelValue = "";
            break;
        case "02" :
            labelValue = "申請中";
            break;
        case "03" :
            labelValue = "申請受付";
            break;
        case "04" :
            labelValue = "承認";
            break;
        case "05" :
            labelValue = "棄却";
            break;
        default :
            labelValue = null;
            break;
    }
        				

また、case句を纏めて同一の処理を実行することも可能です。

文字列のコード値によって、処理を切り分ける例
    String confirmCode = "01";

    switch ( confirmCode ) {
        case "01" :
            initProcess();
            break;
        case "02" :
        case "03" :
            orderProcess();
            break;
        case "04" :
        case "05" :
            approvalProcess();
            break;
        default :
            errorCdProcess();
            break;
    }
						

このようにbreak句によって、switchの評価式からswitch処理を終了します。

case句の直後にステートメントを記載できますが、保守性の面から改行してステートメントを記載します。

default句は省略可能ですが、デフォルト値の設定や想定外の値時にエラー処理の実行などを記載するのが一般的です。