UPSTARTSのぱみやすです
今回はJavaの条件分岐の「switch文」をみていきます
「switch文」ではいくつか条件分岐がある場合、「if文」よりスッキリ書くことができます
また右辺と左辺が等しいか比較する場合に使うことができます。
1 2 3 4 5 6 7 8 9 |
if(group.equals("海賊")) { System.out.println("財宝"); } else if (group.equals("海軍")) { System.out.println("正義"); } else if (group.equals("革命軍")) { System.out.println("変革"); } else { System.out.println("その他"); } |
では、こちらの「if文」を「switch文」を使って、書き換えていきます
いくつか決まりがあるので例を出しながら見ていきましょう
条件分岐の書き方は、「switch (判定したい変数) { case 分岐させたい値 : 処理 break ; }」このように書きます
1 2 3 4 5 |
switch() { case : break; } |
では実際に例をみてみましょう
まず変数を初期化し、「group」が「海賊」だった場合、財宝と表示させる処理を書いてみます
1 2 3 4 5 6 |
String group = "海賊"; switch(group) { case "海賊": System.out.println("財宝"); break; } |
判定したい変数「group」を「()」中に書き、 その後に「{}(ブロック)」の中に、
「case」で「group」の変数によって分岐させたい値を書き「: (コロン)」で閉じ、
「group」が「海賊」だった場合の処理を書けばおけです
今回は「group」が「海賊」の場合、「財宝」と表示させます
また「case」の後の「: (コロン)」はいつも書いている「; (セミコロン)」ではないので覚えておいてください
break
次にこちらの処理を終えるには「break ;」を記述する必要があるので必ず記述してください
「break ;」はよく書き忘れてしまうので注意しましょう
ここまで書けたら「group」の値によって処理を分岐させていきます
1 2 3 4 5 6 7 8 9 10 11 12 |
String group = "海賊"; switch(group) { case "海賊": System.out.println("財宝"); break; case "海軍": System.out.println("正義"); break; case "革命軍": System.out.println("変革"); break; } |
このように条件によっていくつも分岐させることが出来ます
この場合、「財宝」と表示されます
default
また、それ以外の場合、「default」と書いてあげてそのあとに処理を書いてあげればおけです
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
String group = "王国"; switch(group) { case "海賊": System.out.println("財宝"); break; case "海軍": System.out.println("正義"); break; case "革命軍": System.out.println("変革"); break; default: System.out.println("その他"); } |
今回は「group」が「海賊」「海軍」「革命軍」ではなく、「王国」なので、
「その他」と表示されます
それ以外の処理が不要な場合は「default」省略することができます
caseを並べて書く
また「世界政府」も「正義」なので、その場合は 「case」 を並べて書き、
「海軍」 か 「世界政府」 の場合は 「正義」と表示するということも出来ます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
String group = "世界政府"; switch(group) { case "海賊": System.out.println("財宝"); break; case "海軍": case "世界政府": System.out.println("正義"); break; case "革命軍": System.out.println("変革"); break; default: System.out.println("その他"); } |
今回は「group」が「世界政府」なので、「正義」と表示されます
まとめ
このようにいくつかある条件分岐の場合は「switch文」を使うと「if文」よりスッキリ記述ことができます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
package lesson; public class Main { //条件分岐 : switch文 public static void main(String[] args) { String group = "海賊"; switch(group) { case "海賊": System.out.println("財宝"); break; case "海軍": case "世界政府": System.out.println("正義"); break; case "革命軍": System.out.println("変革"); break; default: System.out.println("その他"); } } } |
次回は繰り返し処理の「while文」についてやっていきます