Javaの制御文【If】と【Switch】の違いと使い分け【40回】

「Java入門」講座にご興味ある方はこちら。次回は7/26(水)27(木)開催です。

「Java応用(Spring MVC)」講座にご興味ある方はこちら。次回は8/2(水)3(木)開催です。

Javaの制御文【If】と【Switch】の違いと使い分け ビジネスパーソンのためのプログラミング講座【第40回】


 


■Javaの制御文【If】と【Switch】の違いと使い分け
Javaで条件分岐を行う構文にif 文switch文があります。
条件分岐は、繰り返し処理と並んで、プログラムを組む上ではもっとも基本的でよく使う構文になります。
if文switch文、それぞれの違いを知り、特性を生かした使い分けを行うことが必要になります。

■if文
If文は、条件式を満たしたときに、Javaである処理を実行する構文です。
次のような構文を用います。
If (a>10) {
b=b+1;
}
この場合、(a >10)、つまり、「変数aが10より大きい」という条件を満たすときのみ、「変数bに1を加える」という処理を実行します。
条件を満たさない場合には、この処理をとばします。

またif~elseを用いて、「条件を満たさなかった場合の処理」を記述することもできます。
If (a>10) {
b=b+1;
}else{
b=b-1;
}
「変数aが10より大きい」場合は、「変数bに1を加える」、「それ以外」つまり「aが10以下」の場合には、「bから1を引く」という処理を行っています。
さらに以下のようにelse if 文を用いて、「●●でない場合で、▲▲の場合」のように条件式を重ねることもできます。
if (a>10){
b=b+1;
}else if (c>0) {
B=b-1;
}
つまり、条件式を満たすか、満たさないか、によって処理を分けるのがif文です。

■switch文
Switch文は、Javaにおいてある変数の値によって条件分岐を行う構文です。以下のように記述します。
switch(a){
case 0: b=”あ”;
case 1: b=”い”;
case 2: b=”う”;
case 3: b=”え”;
default: b=”お”;
}
変数aの値が、0、1、2、3の場合で条件分岐し、変数bにそれぞれ「あ」「い」「う」「え」を代入しています。
最後の「default」は、aの値がどれにも当てはまらなかった場合の処理です。
if文と異なり、条件に用いるある変数によって、一度に複数に枝分かれさせるのがswitch文の特徴になります。

■if文とswitch文の違いと使い分け
それぞれはどのように使い分けすればよいのでしょうか。
If文では変数の値を閾値にして、「以上、未満」のように範囲を条件に分岐する場合、複数の変数や条件を組み合わせて分岐する場合に便利です。
一方、Switch文では、ある1変数を条件に、複数のパターンに分岐する場合に便利です。
If文を用いて、Switch文と同じ処理を実現することもできますが、else ifを何重にも記述する必要があるため、処理の速度が遅くなるだけでなく、ソースが複雑になるため、バグの原因にもなります。
JavaIf文switch文、どちらを用いるか迷ったときは、処理をフロー図に書き出してみるとよいでしょう。
どちらの構文に適した処理なのか判別する助けになります。


☆おすすめ講座☆
Java講座の詳細はこちら

  >プログラミング豆知識 記事一覧へ

投稿日: 2017年5月17日

前後の記事

気になることは何でもお気軽にお問合せください。

0120-188-024 受付時間 平日9:00~19:00