選択(switch文)
選択(switch文)
条件の分岐はif文以外に、switch文という制御構文を使っても実現できます。
単純な比較条件が多くなるような場合、if文よりもこちらのswitch文を使用した方が見やすくスッキリしたソースコードになります。
※switch文でできることはif文でも全て出来ます。
しかし、if文でできることをswitch文ではできないことがあります。
上記サンプルはキーボードから入力されたキーの文字コードを取得し、swicth文を使って文字コードごとに処理を分岐させています。
swicth文は条件によって処理を振り分けます。
この例では、変数cの値によって6個の処理に振り分けられます。
例えば、変数cの値が65だった場合、『case 65:』ブロックが実行されることになります。
※'a'の文字コードは65。
※Javaの場合、swicth文の条件として指定できるのは数値のみ。
このとき、caseブロックの最後に「break;」を忘れないようにしてください。
「break;」を忘れてもプログラムは一応動作しますが、意図するようには動作しません。
試しに「break;」を全て削除してプログラムを実行してみてください。
このとき『a』キーを押下するとその違いが一番わかりやすいです。
switch文の中の命令全てが実行されたことを確認できると思います。
条件の分岐はif文以外に、switch文という制御構文を使っても実現できます。
単純な比較条件が多くなるような場合、if文よりもこちらのswitch文を使用した方が見やすくスッキリしたソースコードになります。
※switch文でできることはif文でも全て出来ます。
しかし、if文でできることをswitch文ではできないことがあります。
import java.io.*;
public class sample02 {
public static void main(String[] args) {
int c;
System.out.println( "文字を入力してください。" );
try{
c = System.in.read();
}catch(Exception e){
}
swicth(c){
case 65:
System.out.println("押されたキーは『a』です。");
break;
case 66:
System.out.println("押されたキーは『b』です。");
break;
case 67:
System.out.println("押されたキーは『c』です。");
break;
case 68:
System.out.println("押されたキーは『d』です。");
break;
case 69:
System.out.println("押されたキーは『e』です。");
break;
default:
System.out.println("押されたキーは『a,b,c,d,e』以外です。");
}
}
}
上記サンプルはキーボードから入力されたキーの文字コードを取得し、swicth文を使って文字コードごとに処理を分岐させています。
swicth文は条件によって処理を振り分けます。
この例では、変数cの値によって6個の処理に振り分けられます。
例えば、変数cの値が65だった場合、『case 65:』ブロックが実行されることになります。
※'a'の文字コードは65。
※Javaの場合、swicth文の条件として指定できるのは数値のみ。
このとき、caseブロックの最後に「break;」を忘れないようにしてください。
「break;」を忘れてもプログラムは一応動作しますが、意図するようには動作しません。
試しに「break;」を全て削除してプログラムを実行してみてください。
このとき『a』キーを押下するとその違いが一番わかりやすいです。
switch文の中の命令全てが実行されたことを確認できると思います。
