平凡エンジニアによる平凡ブログ

平凡インフラエンジニアがスキルアップを目指してプログラミングやクラウドやサーバといったインフラのアウトプットをしていきます!

【java】switch文を使って条件分岐させる

今回のテーマ

条件分岐の一つであるswitch構文の使用方法と 1Z0-818に関しての出題ポイントについて記載します。

使用方法

まずは通常通りの例文を確認する。 int型の変数sに100を代入して、その値によって出力を 条件分岐させるプログラムです。

public class Main {
    public static void main(String[] args) {
        int s = 100;
        switch(s){
         case 100:
            System.out.println(100);
            break;
         case 200:
            System.out.println(200);
            break;
         case 300:
             System.out.println(300);
         default:
             System.out.println(1000);
        }
   }
}

 // 出力
 100

switch構文

記載方法について以下の通りです。 式を評価して該当するcaseに記載されている処理を実行する条件分岐式です。

caseに該当しないものに関してはdefaultの処理が実行されます。
尚、defaultは末端でなくてもよく、どこに記載しても問題ありません。

switch(式){
    case 定数1:
        //処理1;
    case 定数2:
        //処理2;
    case 定数3:
        //処理3;
    default :
        //default処理;
}

breakの役割について

前項で使用していたbreak文は 該当するcaseの処理を実行した後にswitch文を抜ける場合に使用する

breakをなくしてswitch文を実行するとcase 100:の処理文を実行した後に switch文から抜けず、その下に記載があるcase 200:の処理まで実行していることがわかる。

public class Main {
    public static void main(String[] args) {
        int s = 100;
        switch(s){
         case 100:
            System.out.println(100);
         case 200:
            System.out.println(200);
            break;
         case 300:
             System.out.println(300);
         default:
             System.out.println(1000);
        }
   }
}

//出力
100
200

switch文を条件分岐で使用する際にはbreak;を忘れず記載しましょう。
1Z0-818の問題集では頻出のポイントです。

switch文が使用できない変数データ型について

またswitch文でもう一つの注意点は使用できない変数があるということです。

switch文で評価できる変数のデータ型 

1.byte
2.short
3.int
4.char
5.String
6.enum
7.ラッパークラス型

これ以外の変数のデータ型を使用するとコンパイルエラーが出ます。

まとめ

if-elseif文も同じ条件分岐ですが、switch文でも同様の条件分岐ができることを 覚えておきましょう。 また1Z0-818の試験対策のポイントは以下2点

ポイント

・break;の記載があるか
・使用できない変数のデータ型が使用されていないか  

現在1Z0-818受験を目指して学習中 学習中で学んだポイントを以降も記載していきます。 以下の文献を参考に学習しております。

オラクル認定資格教科書 Javaプログラマ Bronze SE(試験番号1Z0-818)