【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受験を目指して学習中 学習中で学んだポイントを以降も記載していきます。 以下の文献を参考に学習しております。