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

50種類以上のIT教材を無料で使える!
0円から学習できるオンラインITスクール「侍テラコヤ」
→さっそく登録する

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

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

【Java入門】switch-case文の使い方
更新日:2023年3月21日

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の使い方
更新日:2023年3月21日

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の文字列を扱う方法
更新日:2023年3月21日

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

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

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

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

【何から学べばいいかわからない…そんな悩みを解決します!】

完全無料ですぐわかる「プログラミング学習プラン診断」

・適性にあわせて学習プランを診断
・完全無料で気軽に診断できる
・学習の悩みもまるっと解決

さっそく診断してみる

まとめ

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

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

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

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

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

連絡先はこちらです。
ntakeshi@sejuku.net

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close