【まとめ】Javaのswitch-case文の使い方をサンプル付きで解説!
  • facebookページ
  • twitterページ
  • 2019.12.02

    【まとめ】Javaのswitch-case文の使い方をサンプル付きで解説!

    「Javaのswitch-case文の使い方がイマイチわからない…」

    「switch-case文とif文ってどう使い分けるんだろう?」

    こんな風に思ってる方はいませんか?

    そこで今回は、現役システムエンジニアの私が、Javaのswitch-case文の使い方をご紹介します。

    サンプルプログラム付きで紹介するので、ぜひ参考にしてくださいね。

    この記事で学べること
    • switch-case文の使い方
    • switch-case文で使える変数の型
    • switch-case文とif文の違い

    switch-case文とは?

    switch-case文とは、Javaで条件分岐を行うときに使う命令文です。

    if文とはまた違った記述方法で分岐を行います。

    では、switch-case文とif文はどんなときに使い分ければいいのかをご紹介しますね。

    switch-case文とif文の違い

    switch-case文とif文の違いがよくわかりません…。どのように使い分ければよいのでしょうか?

    ここでは、switch-case文が使える条件を見て、それぞれの違いを確認していきましょう。

    if文とは異なり、switch-case文には使うための条件があります。これがif文との大きな違いといえるでしょう。

    switch-case文が使える条件は以下の2つです。

    switch-case文が使える条件
    • すべての条件式が、左辺と右辺が一致するかを比較する式になっていること
    • 比較する値が整数、文字列、文字のいずれかであること

    ひとつずつ、解説します。

    すべての条件式が、左辺と右辺が一致するかを比較する式になっていること

    switch-case文で使うすべての条件式は、左辺と右辺が一致するかを比較する式でなくてはいけません。

    「変数 == 値」や「変数 == 変数」はswitch-case文で使用可能です。一方で「変数 > 値」や「変数 <= 変数」などは使用できません。

    比較する値が整数、文字列、文字のいずれかであること

    switch-case文で比較する値は、以下4種類の値を使います。

    • 整数(byte型、short型、int型のいずれか)
    • 文字列(String型)
    • 文字(char型)
    • 列挙型(enum)

    少数や真偽値といった値は利用できません。

    switch-case文で書くべきなのはどんな場合?

    switch-case文を使うのはズバリ、if文よりもスマートに条件式を書けるときです。

    例えば、以下のようなプログラムを見たときに「else ifが何個もあって読みづらい…」と感じるのではないでしょうか?

    その点、switch-case文を使うと、以下のようにスッキリとしたコードに変わります。

    仕事などで使うプログラムは、自分以外の人が読んでも読みやすいコードが求められます。

    そのため、switch-case文で処理をスッキリさせわかりやすくなるのであれば、利用すべきといえるのです。

    switch-case文の使い方

    ここでは、switch-case文の以下5通りの使い方を見ていきましょう。

    1. switch-case文 基本
    2. switch-case文 break
    3. switch-case文 default
    4. switch-case文 String型
    5. switch-case文 Enum型

    1. switch-case文 基本

    先ほどご紹介したプログラムで、switch-case文の基本を説明します。

    switchには条件式として「sample」が設定されています。「sample」は「sample==2」と同じ意味です。

    case文でそれぞれsampleが1、2、3だった場合の処理を記述します。

    このプログラムを実行すると、以下の結果になるはずです。

    ↓実行結果

    2. switch-case文 break

    switch-case文で使われている「break」は、処理を中断するために使われています。

    case文を使用する際は、必ずそれぞれのcase文にbreakを入れて処理を終わらせるようにしましょう。

    もしも、breakを入れなかった場合は、以下のような挙動をしてしまいます。

    ↓実行結果

    case2の後にcase3の処理まで実行してしまっているのがわかりますね…。

    3. switch-case文 default

    switch-case文で「default」を使うと、caseに当てはまらない場合の処理を設定できます。

    例外処理などを設定したいときに使うといいでしょう。

    ↓実行結果

    4. switch-case文 String型

    Java SE 7以降では、switch-case文でString型を条件として使えるようになりました。

    String型の条件を用いたサンプルプログラムもご紹介しますね。

    ↓実行結果

    アルファベットは大文字、小文字まで判定されるので、設定には注意しましょう。

    5. switch-case文 Enum型

    switch-case文では、Enum型も条件式として使用可能です。

    Enum型について詳しく知りたい方は、以下の記事で詳しく解説しているので参考にしてください。

    【関連記事】

    ▶︎初心者のためのJava講座。Enum(列挙型)の色々な使い方

    ここでは、Enum型を使ったプログラムを見ていきましょう。

    ↓実行結果

    Programingで定義されているJavaが、条件式として利用できているのがわかります。

    まとめ

    Javaのcase文の使い方についてご紹介しました。

    case文は、処理の中で条件分岐を行うときに使う命令文です。

    条件式には整数や文字列、文字などが利用でき、左辺と右辺が一致するかを比較する場合にif文よりスッキリコードが書けます。

    ぜひこの記事を参考に、case文を使いこなしてください!


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE

    ポテパンおすすめ案件