こんにちは!エンジニアの中沢です。
Javaには条件分岐を行うswitch-case文があります。
if文も条件分岐に使われますが、if文では分岐が多くなると読みにくくなるため、代わりにswitch-case文が使われます。
この記事では、
- switch-case文とは
- switch-case文の使い方
という基本的な内容から、
- switch-case文のdefaultの使い方
- case文の値にString型の文字列を使う方法
などの応用的な使い方に関しても解説していきます。
今回はこれらの方法を覚えるために、switch-case文の使い方をわかりやすく解説します!
なお、Javaの記事については、こちらにまとめています。
switch-case文とは
switch-case文はif文のように条件分岐を行うためのものです。
switch-case文の構文は次のように記述します。
switch (式) { case 値A: // 式の値と値Aが一致したときの処理 break; case 値B: // 式の値と値Bが一致したときの処理 break; default: // 式の値がどのcaseの値とも一致しなかったときの処理 }
if文の条件式は”true”か”false”のどちらかにならなければいけませんが、switch-case文の場合は式に値が入るので間違えないようにしましょう。
switch-case文の使い方
ここではswitch-case文の基本的な使い方を解説していきます。
基本的な使い方
switch-case文を使うことで、if文のような条件分岐を行うことができます。
switch-case文の使い方を次のプログラムで確認してみましょう。
public class SwitchSample { public static void main(String[] args) { int num = 2; switch (num) { case 1: System.out.println("一"); break; case 2: System.out.println("二"); break; case 3: System.out.println("三"); break; default: System.out.println("エラー"); } } }
実行結果:
二
このプログラムでは、式の値とcaseの値を比較して一致した値の漢数字を表示しています。
switch-case文でif文のorのように複数のケースで同じ処理をする方法など、switch-case文についてさらに詳しく知りたいときはこちらの記事を確認してください。
defaultの使い方
switch-case文の式の値がどのcaseの値とも一致しなかった場合には、defaultに書かれた処理が実行されます。
defaultの使い方を次のプログラムで確認してみましょう。
public class SwitchSample { public static void main(String[] args) { int num = 0; switch (num) { case 1: System.out.println("一"); break; case 2: System.out.println("二"); break; case 3: System.out.println("三"); break; default: System.out.println("エラー"); } } }
実行結果:
エラー
このプログラムでは式の値がどのcaseの値とも一致しないため、defaultに書かれた処理を実行して”エラー”と表示しています。
switch-case文のdefaultの使い方を詳しく知りたいときはこちらの記事を確認してください。
case文の値にString型の文字列を使う方法
ここではswitch-case文でString型の文字列を使う方法を解説していきます。
switch-case文で使える型は決まっていて、int、short、char、byte、enum、Stringの6つだけです。
String型にはJava7から対応しました。Java6以前の環境ではenumを使ってString型の文字列を使う方法を解説します。
String型の文字列を使う方法
Java7以降の環境ではString型の文字列に対応しているので、int型の数値と同じようにswitch-case文で使用できます。
次のプログラムで確認してみましょう。
public class SwitchSample { public static void main(String[] args) { String week = "Friday"; switch (week) { case "Sunday": System.out.println("日曜日"); break; case "Monday": System.out.println("月曜日"); break; case "Tuesday": System.out.println("火曜日"); break; case "Wednesday": System.out.println("水曜日"); break; case "Thursday": System.out.println("木曜日"); break; case "Friday": System.out.println("金曜日"); break; case "Saturday": System.out.println("土曜日"); break; default: System.out.println("エラー"); } } }
実行結果:
金曜日
Java7以降の環境では、switch-case文で問題なくString型の文字列が使えることが確認できました。
switch-case文でString型の文字列を使う方法を詳しく知りたいときはこちらの記事を確認してください。
Enumクラスで文字列を使う方法
Java6以前の環境ではswitch-case文がString型に対応していないのでenumを使って工夫する必要があります。
Enumクラスを使って文字列を扱う方法を知りたいときはこちらの記事を確認してください。
まとめ
いかがでしたか?今回はswitch-case文の使い方について解説しました。
条件分岐が多いときには、if文よりもswitch-case文の方がわかりやすく処理の早いプログラムが書けるのでぜひ覚えてくださいね。
もし、switch-case文の使い方を忘れてしまったらこの記事を確認してください!