Javaで条件分岐を行いたい場合の書き方として、
if~elseとswitchを使う方法があるので、それぞれの使い方を説明したいと思います。
if~else
文字の通り、もし~だったら、という使い方になります。
int num1 = 2;
if (num1 == 2) {
// もしnum1が2だったら、という条件なので実行される
}
if (num1 == 3) {
// もしnum1が3だったら、という条件なので実行されない
}
ANDやORの複合条件も指定できます。
int num1 = 2;
int num2 = 3;
// AND条件の場合は&&を使います
if (num1 == 2 && num2 == 3) {
// もしnum1が2でnum2が3だったら、というAND条件なので実行される
}
if (num1 == 2 && num2 == 4) {
// もしnum1が2でnum2が4だったら、というAND条件なので実行されない
}
// OR条件の場合は||を使います
if (num1 == 2 || num2 == 4) {
// もしnum1が2かnum2が4だったら、というOR条件なのでnum1が2が当てはまり実行される
}
if (num1 == 1 || num2 == 5) {
// もしnum1が1かnum2が5だったら、というOR条件だがどちらも当てはまらないので実行されない
}
elseを使う事で「それ以外」という条件で実行する事が出来ます。
if (num == 2) {
// もしnumが2だったら、という条件なので実行される
} else {
// もしnumが2以外だったら実行される
}
複数の条件分岐を行いたい場合はelseifを追加います。
if (num == 2) {
// もしnumが2だったら、という条件なので実行される
} else if (num == 3) {
// もし上の条件に当てはまらずnumが3だったら、という条件なので実行される
} else if (num == 4) {
// もし上の条件に当てはまらずnumが4だったら、という条件なので実行される
} else {
// もし上の条件のどれにもあてはまらなかったら実行される
}
switch
当てはまる条件によって処理を切り替りかえます。
switch (式) {
case 値1:
// 式が値1だった場合に実行される分岐
break;
case 値2:
// 式が値2だった場合に実行される分岐
break;
default:
// 上記のどこにも当てはまらなかった場合に実行される
break;
}
各caseの分岐の中にbreak;を入れないと分岐に当てはまったcase以降のcase内の処理が全て実行されてしまいます。
breakがなかった場合、下記の例ではcase 2 で当てはまってもcase 3の処理が実行されてしまうため、
必ずcase分岐の中ではbreakを書くようにします。
int num1 = 2;
// num1の中身によって処理を切り替える
switch (num1) {
case 1:
// num1が1だった場合に実行される分岐
break;
case 2:
// num1が2だった場合に実行される分岐
// 今回はnum1 = 2 なので個々の処理が実行される
break;
case 3:
// num1が3だった場合に実行される分岐
break;
default:
// 上記のどこにも当てはまらなかった場合に実行される
break;
}
コメント