Javaのswitch文を使用することで、値によって処理を分岐することができます。
今回は、Javaのswitch文について解説します。
●この記事で分かること
👉Javaのswitch文の基本的な使い方について知ることができます。
👉switch文内に記述されているキーワード(case,defoult,break)の意味を知る事ができます。
- switch ( 条件式 ) { :switch文を使用する際にはじめに書く文
- case 値 : 処理 :どのcaseにも当てはまらなかったときに処理が実行される
- default 値 : 処理 :どのcaseにも当てはまらなかったときに処理が実行される
- break; :switch文の処理を終了させるために必要なキーワード、見つからない場合、見つかるまでcase内の文の処理を実行し続ける。
それでは、サンプルプログラムも交えて説明します。
Contents
【Java】switch文の書式について
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型以下の整数型とそのラッパークラス
- 文字と文字列
- 列挙型

・【Java】変数の宣言及び値のセットについてまとめました(基本のデータ型、配列)
【Java】インスタンスについてまとめました(生成方法や使用方法を紹介)
【Java】Listの使い方(put、get、size、isEmpty、removeなど)
【Java】Setの使い方(add、size、isEmpty、clearなど)
【Java】forについてまとめました(for文、break文、continue文など)