初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
switch文
switch文もif文と同じ条件分岐構文です。
switch文の記述の仕方は以下のようになります
switch文の記述の仕方
switch(値) case 値1: 値の評価==値1のときに処理される break; case 値2: 値の評価==値2のときに処理される break; case 値3: 値の評価==値3のときに処理される break; case 値4: 値の評価==値4のときに処理される break; default: 値の評価がどれも一致しなかった時の処理 break;このようになります。
switch文 で指定した値と case の値が一致すればそのcaseの中の処理をします。
また、そのあとに キーワードbreakがあります。
breakはプログラムの終了を意味します。
つまり、case の最後にbreakがあります。したがって、caseが終了した時点でswitch文は終了します。break文がなければ、終了することがなく次のcase文の処理をします。
defaultは別に記述しなくてもプログラムには影響しません。
switch文のswitch(値)に記述できる値の型は
byte ,shot, char int
では、switch文を使ったプログラムを作成しその違いについて見ていきます。
サンプルプログラム(Sample28.java)break文を記述しなかった場合
class Sample28{ public static void main(String args[]){ int x = 2; switch(x){ case 1: System.out.println("xの値は1です"); case 2: System.out.println("xの値は2です"); case 3: System.out.println("xの値は3です"); default: System.out.println("それ以外の値です"); } } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
100GB、マルチドメインやMySQLが無制限。CGI・PHP高速化機能搭載【X2】
フレッツ光加入で地デジ対応32型液晶TVプレゼント!
コンパイル・実行すると以下のようになります。
コンパイル・実行したらこのような結果になりました。
これは、まずint xの値2がswitch文の( )の中に指定されています。
したがって、 case 2: の中の処理が行われました。
しかし、break文がないためにcase 3: default:の中の処理までが行われています。
サンプルプログラム(Sample28_1.java)break文を記述した場合1
class Sample28_1{ public static void main(String args[]){ int x = 2; switch(x){ case 1: System.out.println("xの値は1です"); break; case 2: System.out.println("xの値は2です"); break; case 3: System.out.println("xの値は3です"); break; default: System.out.println("それ以外の値です"); break; } } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
大容量42.195GB、メールアドレス数無制限、共有SSL対応のレンタルサーバー『ヘテムル』
テンプレート驚きの7000種類!あなた好みのブログをつくるなら【JUGEM 】
コンパイル・実行します
今度はcase 2:の中の処理だけが実行されています。
break文を記述したことによりcase 2の処理が終わったところで、プログラムが 終了しています。
サンプルプログラム(Sample28_2.java)break文を記述した場合2
class Sample28_2{ public static void main(String args[]){ int x = 2; switch(x){ case 1: System.out.println("xの値は1です"); break; case 2: System.out.println("xの値は2です"); case 3: System.out.println("xの値は3です"); break; default: System.out.println("それ以外の値です"); break; } } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行します
今度はcase 2:だけbreak文を記述しませんでした。
結果はcase 2にbreak文が記述されていないので、もちろんcase 3も実行されます。
しかしcase 3にはbreak文が記述されているので、ここでプログラムは終了します。
したがって、case 2 と case 3 だけが実行されたわけです。
サンプルプログラム(Sample28_3.java)
byte,shot,int,char以外の型を使用した場合
class Sample28_3{ public static void main(String args[]){ long x = 2; switch(x){ case 1: System.out.println("xの値は1です"); break; case 2: System.out.println("xの値は2です"); break; case 3: System.out.println("xの値は3です"); break; default: System.out.println("それ以外の値です"); break; }
} }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル実行します。
このようにエラーになります。