条件分岐には if の他に switch という方法があります。

switch で出来ることは if でも出来るので、必要がないといえば必要ないのですが、

構文の仕様からうまく使えば if文よりもプログラムの見通しが良くなるため、賢く使えば素晴らしい命令です。


-----


switch( 変数 ){

case 整数値1:

変数の値が 整数値1 だった場合の処理。

break;

case 整数値2:

変数の値が 整数値2 だった場合の処理。

break;

}

-----


このような構成です。

if 文で同じ内容を表現すればこのようになります。

-----


if( 変数 == 整数値1 ){

変数の値が 整数値1 だった場合の処理。

}else if( 変数 == 整数値2 ){

変数の値が 整数値2 だった場合の処理。

}

-----


この状態だと、 if 文の方が見通しがいいと思います。

しかし、同じ変数に対する条件式を50個並べたときはどうでしょうか?


if文の場合は50個の if が並ぶことになり、

if文の仕様上全てが同じ変数に対する処理であるという保証はありません。

(50個の中に1個だけ違う変数と比べてるのかもしれない!)


一方 switch文 は1変数と複数定数に対する評価しか行えませんので、

可読性が高まると言うことです。


つまり、switch文の使いどころは、『同じ変数と多くの整数値を比べる場合』ということですね。