>> Java入門トップに戻る

switch文

Javaのswitch文について説明します。

前回の説明でif文を説明しましたが、沢山の条件分岐があるコードを書きたい時にif文だけで書こうとするとelse if文を大量に書くしかないので、見栄えとしてはあまりよくありません。
そんな時に役に立つのが「switch」文です。
switch文は条件式が返す値に応じて処理を分岐させることができる構文で、もっと見やすく簡潔に書くことが出来ます。
ただし条件式が返す値というのは「整数値」である必要があります。
以下のコードを見てください。
		int a = 1;
		int b;

		switch(a){
		
			case 0:
				//aが0の時の処理
				b = 0;
				break;
			case 1:
				//aが1の時の処理
				b = 1;
				break;
				
			default:
				//aが上記以外の値の時の処理
				b = 2;
				break;
		
		}
まず、「switch(値または式)」と書いて全体を囲みます。
このswitchの中に書く値または式は、結果が「整数値」を返すものでなければなりません。
文字列とか実数とか真偽値では駄目ですので注意してください。

次に「case 値:」と書いて条件となる式の値を書きます。
上記に書いてあるとおり、「aが0の時」と書きたいなら「case 0:」とします。

そのcaseの下にその条件にマッチした時の処理を書いていきます。
break」とはこのswitch文の構文から抜けるために必要なものです。
breakが実行されるこのswitch文を囲んでいる括弧の外へ拔けます。
breakを忘れると、すぐ下のcase文の処理も実行されてしまうので注意です。
逆にbreakを書かずに、
		int a = 1;
		int b;
		
		switch(a){
		
			case 0:
			case 1:
				//aが0か1の時の処理
				b = 1;
				break;
				
			default:
				//aが上記以外の値の時の処理
				b = 2;
				break;
		
		}
上記のようにcase 0とcase 1を続けて書くことで「aが0か1の時」というような書き方も出来ます。

default」とは「どのcase文の条件にもマッチしない場合」の時の処理を書きます。
if文で言う「else」と似たようなものですね。

このように、整数値のみという制限はありますが、条件分岐の処理をif文よりもすっきり書くことが出来ました。
switch文も頻繁に使うのでしっかり覚えてください。

>> 【while、do while構文】に進む
>> Java入門トップに戻る