【Java入門】switch-case文の使い方総まとめ

こんにちは!エンジニアの中沢です。

Javaには条件分岐を行うswitch-case文があります。

if文も条件分岐に使われますが、if文では分岐が多くなると読みにくくなるため、代わりにswitch-case文が使われます。

この記事では、

  • switch-case文とは
  • switch-case文の使い方

という基本的な内容から、

  • switch-case文のdefaultの使い方
  • case文の値にString型の文字列を使う方法

などの応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、switch-case文の使い方をわかりやすく解説します!

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文についてさらに詳しく知りたいときはこちらの記事を確認してください。

【Java入門】switch-case文の使い方
更新日 : 2017年6月7日

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の使い方を詳しく知りたいときはこちらの記事を確認してください。

【Java入門】switch文のdefaultの使い方
更新日 : 2017年6月7日

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型の文字列を使う方法を詳しく知りたいときはこちらの記事を確認してください。

【Java】switch文でStringの文字列を扱う方法
更新日 : 2018年11月13日

Enumクラスで文字列を使う方法

Java6以前の環境ではswitch-case文がString型に対応していないのでenum使って工夫する必要があります。

Enumクラスを使って文字列を扱う方法を知りたいときはこちらの記事を確認してください。

【8分でわかる】Enumクラスで文字列を使った比較・変換テクニックをわかりやすく解説!
更新日 : 2017年6月7日

まとめ

いかがでしたか?今回はswitch-case文の使い方について解説しました。

条件分岐が多いときには、if文よりもswitch-case文の方がわかりやすく処理の早いプログラムが書けるのでぜひ覚えてくださいね。

もし、switch-case文の使い方を忘れてしまったらこの記事を確認してください!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説