Javaのif文には、さらに条件を分けていくif else文というものが存在する。「もし○○なら△△する。そうでなくて、●●なら▲▲する」という場合に活躍する文法だ。
このページでは条件追加して分岐を増やしていくJavaのelse ifについてお伝えしよう。
目次
else-if文の基本的な使い方
else ifは次のような処理のときに使える。
コンビニに行って、おでんがセールだったらおでんを、おでんがセールでなくておにぎりのセール中であればおにぎりを、いずれでもなければパンを買うような処理だ。
ifを2回挟んで確認するような処理になる。2回目のifで登場するのがelse ifだ。
これを日本語的に書くと、
↓
もし、おでんがセール中なら、おでんを買う!
↓
おでんがセール中でなく、おにぎりがセール中なら、おにぎりを買う!
↓
いずれでもなければパンを買う!
↓
帰る。
となる。
これをプログラミングで表現するのが「else if文」の役割だ。次のようになる。
if(おでんがセール中なら){
おでんを買う!;
} else if (おにぎりがセール中なら) {
おにぎりを買う!;
} else {
パンを買う!;
}
帰る。
else ifのような文法は他のプログラミング言語でも必ず登場していくる。理解しておこう。
Javaのelse if文を組み合わせる使い方
使い方は次の通りだ。
elseも登場するパターン
ifではじめに確認し、続いてelse ifで確認して、最後にその他はこうしよう、というプログラムだ。上のコンビニの例がこれに当たる。文法は次の通りだ。
if ( 式 ) {
文;
} else if ( 式 ) {
文;
} else {
文;
}
なくてもいい
elseはなくても動く。また、else if を複数つなげることもできる。
if ( 式 ) {
文;
} else if ( 式 ) {
文;
}
では、この点をサンプルプログラムで確認してみよう。
ifとelse ifとelse文の組み合わせサンプルプログラム
このサンプルプログラムは、if-then-else文を組み合わせて色々な条件を作り出している。numberを値に応じて、3つの範囲に分類するときこの組み合わせが使える。
- 範囲1:numberが1から9
- 範囲2:numberが10から99
- 範囲3:numberが100以上
1 2 3 4 5 6 7 8 9 10 11 12 |
public class IfThenElseLastRangeIsGreaterThanOrEqualTo100 { public static void main (String[] args){ int number = 200;//[1] if (number >= 1 && number <= 9){//[2] System.out.println("[3] number : 1 - 9"); } else if (number >= 10 && number <= 99) {//[4] System.out.println("[5] number : 10 - 99"); } else {//[6] System.out.println("[7] number >= 100"); } } } |
実行結果
1 |
[7] number >= 100 |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1]変数numberを宣言し、初期値の200を代入する。
- [2][3] もしnumberが1以上で9以下ならば、「number : 1 - 9 」を表示する。
- [4][5] もしnumberが10以上で99以下ならば、「number : 10 - 99 」を表示する。
- [6][7] それ以外ならば、「number >= 100」を表示する。
if-elseが複数あるサンプルプログラム
このサンプルプログラムは、if-then-else文とif文を組み合わせて色々な条件を作り出している。numberを値に応じて、3つの範囲に分類するときこの組み合わせが使える。
- 範囲1:numberが1から9
- 範囲2:numberが10から99
- 範囲3:numberが100から999
1 2 3 4 5 6 7 8 9 10 11 12 |
public class IfThenElseLastRangeIsFrom100To999 { public static void main (String[] args){ int number = 200;//[1] if (number >= 1 && number <= 9){//[2] System.out.println("[3] number : 1 - 9"); } else if (number >= 10 && number <= 99) {//[4] System.out.println("[5] number : 10 - 99"); } else if (number >= 100 && number <= 999){//[6] System.out.println("[7] number : 100 - 999"); } } } |
実行結果
1 |
[7] number : 100 - 999 |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1]変数numberを宣言し、初期値の200を代入する。
- [2][3] もしnumberが1以上で9以下ならば、「number : 1 - 9 」を表示する。
- [4][5] それ以外で、もしnumberが10以上で99以下ならば、「number : 10 - 99 」を表示する。
- [6][7]それ以外で、numberが100以上で999以下ならば、「number : 100 - 999」を表示する。
まとめ
このページではJavaのelse if文についてお伝えしてきた。条件分岐の際に、必ず使うことになる文法なので、正確に使い方をマスターしておこう。