Javaの条件分岐:switch文

Java で条件分岐を実現する方法として if 文がありますが、switch 文を使うことでも条件分岐を行うことができます。ここでは、switch 文の使い方と、使う上での注意点について説明します。

switch 文の使い方

switch 文は以下のように記述します。

switch 文の後の () に評価する変数を記述します。この変数が case とコロン : の値に記述した値と順々に評価されていきます。もし変数が指定した値と等しい場合は、その後に記述したコードが実行されます。

case 文はいくつでも記述することが可能です。また、最後の defalut 文のコードは、変数が case 文で指定したすべての値と等しくないときに実行されます。

以下は switch 文を使ったプログラム例です。

上のプログラムでは、まず n = 3 で初期化しています。そして最初に n と 1 が比較され等しくないので、次に n と 2 が比較されます。これも等しくないので、n と 3 が比較されます。 n は 3 と等しいので、 case 3: の後のコードが実行され「three」と表示されます。

ここで注意してもらいたいのが、すべての case 文の後に break 文が挿入されていることです。Java の switch 文では、変数が case 文の値と順々に評価されていきますが、もし break 文がない場合は必ずすべての case 文と default 文が評価されてしまいます。

以下は break 文を省略したときの例です。

この場合は、「three」と表示され後も switch 文から抜け出さずに default 文まで実行されてしまいます。もし switch 文を使用した場合に意図しない結果になったときは、break 文を記述し忘れていないか確認してみると良いでしょう。

switch 文を if 文で記述した場合

switch 文は条件分岐であるので、if 文でも記述できます。

以下は最初のプログラムを if 文で記述した例です。

このプログラムをコンパイルして実行すると、「three」が表示されます。同じ動作をするコードですが、switch 文で記述した方が条件式をより簡潔に記述することができます。条件式が複雑な場合は if 文を使うなどして、switch 文とうまく使い分けることによって、より良いコードを作成することができます。


Welcome to UX MILK

UX MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。

このサイトについて