Contents
- 1 【Java】switch文について(switch文のcase値、break、defaultについても解説)
- 1.1 ①switch文:case有り、default無し、条件に合致する場合
- 1.2 ②switch文:case有り、default無し、条件に合致しない場合
- 1.3 ③switch文:case有り、default有り、条件に合致する場合
- 1.4 ④switch文:case有り、default有り、条件に合致しない場合
- 1.5 ⑤switch文:breakがない場合、見つからない場合、見つかるまでcase内の文の処理を実行し続けます。
- 1.6 ⑥switch文:case値が一致する場合はコンパイルエラー
- 1.7 ⑦switch文:breakの代わりにreturnを使用しても問題なし
- 1.8 ⑧switch文:条件式が戻せる値の型の制限
【Java】switch文について(switch文のcase値、break、defaultについても解説)
switch文を利用する場合の書式は次のようになります。
switch文は以下の特徴があります。
- 条件式が戻す値と一致するcase式を実行
- defaultはどのcaseにも当てはまらなかったときに実行する処理
- 処理の値には必ずbreakキーワード
それではどのような形で使用するのか以下のようにまとめました。
番号 | switch文のキーワードの意味 | |
① | switch ( 条件式 ) { | switch 文を使用する際にはじめに記述 |
② | case 値 : 処理 | 条件式が一致した際に処理が実行される |
③ | default 値 : 処理 |
どのcaseにも当てはまらなかったときに処理が実行される |
④ | break; |
switch文の処理を終了させるために必要なキーワード、見つからない場合、見つかるまでcase内の文の処理を実行し続ける。 |
①switch文:case有り、default無し、条件に合致する場合
case式の値に該当する場合はその処理が実行されます。
次のサンプルプログラムを参照ください。
サンプルコード:「SwitchTest.java」
public class SwitchTest { public static void main(String[] args) { |
実行結果
10 |
case値が10の時に条件として一致するため、出力結果として10が出力されています。
②switch文:case有り、default無し、条件に合致しない場合
条件式での結果がcase値に一致しない場合は処理は行われません。
次のサンプルプログラムから、何も処理されないことが読み取れます。
サンプルコード:「SwitchTest.java」
public class SwitchTest { public static void mがin(String[] args) { |
実行結果
今回は該当するケースが無いため、処理は実行されないことが分かります。
③switch文:case有り、default有り、条件に合致する場合
case式の値に該当する場合はその処理が実行されます。
if文でいう「else」がswitch文でいう「default」のイメージで覚えやすいです。
サンプルコード:「SwitchTest.java」
public class SwitchTest { public static void main(String[] args) { |
実行結果
10 |
case式が一致する場合は、default文の処理が実行されません。
default文は必ず実行されるという意味ではないことが良い取れます。
④switch文:case有り、default有り、条件に合致しない場合
case式の値に該当しない場合はdefaultの処理が実行されます。
サンプルコード:「SwitchTest.java」
public class SwitchTest { public static void main(String[] args) { |
実行結果
99 |
case式の値に該当しない場合はdefaultの処理が実行されることが確認できました。
⑤switch文:breakがない場合、見つからない場合、見つかるまでcase内の文の処理を実行し続けます。
サンプルコード:「SwitchTest.java」
public class SwitchTest { public static void main(String[] args) { |
実行結果
11 10 |
break文がない場合、見つかるまでcase内の文の処理を実行し続けるため、次の処理の10も出力されることが分かりました。
⑥switch文:case値が一致する場合はコンパイルエラー
case値が一致する場合はコンパイルエラーとなりますので、記述することができません。
public class SwitchTest { public static void main(String[] args) { |
実行結果
重複 case |
上記のエラーメッセージが出力されるため、case値が一致する場合は使用できません。
⑦switch文:breakの代わりにreturnを使用しても問題なし
breakは処理を終了するために使用されていますが、同じようにreturn文を使用して、switch文を抜けることができます。次のサンプルプログラムを参照ください。
public class SwitchTest { public static void main(String[] args) { |
実行結果
10 |
上記のとおり問題なく動作することを確認できます。
⑧switch文:条件式が戻せる値の型の制限
条件式が戻せる型には宣言があります。
次のように覚えましょう。
- int型以下の整数型とそのラッパークラス
- 文字と文字列
- 列挙型