手を動かして学ぶ Java入門 (if-else文、if-elseif文)
環境構築不要! ブラウザから直接コードを実行できます。
本記事では、Java の if-else文 と if-elseif文 について学びます。
10分くらいで、さくっと終わる記事をめざしています。
シリーズ一覧
- シリーズ
- 手を動かして学ぶ Java入門 (Hello world 編)
- 手を動かして学ぶ Java入門 (数値と演算)
- 手を動かして学ぶ Java入門 (数値と変数)
- 手を動かして学ぶ Java入門 (コメントの書き方)
- 手を動かして学ぶ Java入門 (文と式の違い)
- 手を動かして学ぶ Java入門 (if文)
- 手を動かして学ぶ Java入門 (if-else文、if-elseif文)
- 手を動かして学ぶ Java入門 (文字列の連結)
- 手を動かして学ぶ Java入門 (while文)
- 手を動かして学ぶ Java入門 (break文)
- 手を動かして学ぶ Java入門 (continue文)
- 手を動かして学ぶ Java入門 (for文)
- 手を動かして学ぶ Java入門 (クラスの超基本)
- 手を動かして学ぶ Java入門 (クラス・メソッド)
- 手を動かして学ぶ Java入門 (クラス・フィールド)
- 手を動かして学ぶ Java入門 (クラス・コンストラクタ)
- 手を動かして学ぶ Java入門 (文字列クラス)
- 手を動かして学ぶ Java入門 (静的メソッド)
- 手を動かして学ぶ Java入門 (静的フィールド)
続きは近日公開予定!
はじめに
この記事は paiza.IO の「Online Java compiler」を利用しています。
2024/11/18 現在、上記環境の Java バージョンは 18 です。(paiza.IO利用ガイド)
実行したコードは paiza.IO で保存および公開されることがあります。
そのため、個人情報などの機密性の高い情報は、コードとして入力しないようにご注意ください。
詳細は paiza.IO の利用規約およびプライバシーポリシーをご確認ください。
前回のおさらい
前回の記事 では if文について学びました。
if文とは、プログラムを条件分岐させるための制御文です。
- もし A なら B を処理する
というコードですね。
基本の形は次のようになります。
if (条件式) {
then文
}
今回の記事では if文を発展させた、
- if-else文
- if-elseif文
の2つについて学びます。
if-else文とは
if-else文とは
- もし A なら B を処理する
- A でないなら C を処理する
というコードです。
【 if-else文のイメージ 】
Java の if-else文は、次のように記述します。
if (条件式) {
then文
} else {
else文
}
これが基本の形となります。
- 条件式を 満たすとき、then文 が実行されます。
- 条件式を 満たさないとき、else文 が実行されます。(then文 は実行されません)
それでは、プログラムで実際の動きを確認してみましょう。
コードは変更せずに、そのまま「実行(Ctrl-Enter)」ボタンを押してください。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
いかがでしたでしょうか? 「出力」のところに
then文!
if文終了
と表示されたら成功です。
今度は int a = 15 に書き換えて再度実行してみてください。
結果は変わりましたでしょうか?
else文!
if文終了
と表示されたら成功です。
if-elseif文とは
続いて、if-elseif文について学びましょう。
if-elseif文とは
- もし A1 なら B1 を処理する
- もし A1 でなくて A2 なら B2 を処理する
というコードです。
【 if-elseif文のイメージ 】
Java の if-elseif文は、次のように記述します。
if (条件式1) {
then文1
} else if (条件式2) {
then文2
}
これが基本の形となります。
- 条件式1を 満たすとき、then文1 が実行されます。
- 条件式1を 満たさないで 条件式2を 満たすとき、then文2 が実行されます。(then文1 は実行されません)
それでは、プログラムで実際の動きを確認してみましょう。
結果がどうなるか予想してから、コードは変更せずに「実行(Ctrl-Enter)」ボタンを押してください。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
いかがでしたでしょうか? 「出力」のところに
then-1!
if文終了
と表示されたら成功です。
予想はあたりましたでしょうか?
今度は int a = 3 に書き換えて再度実行してみてください。
結果は変わりましたでしょうか?
then-2!
if文終了
と表示されたら成功です。
ちなみに else if (...) { ... } の部分は2つ以上つなげて書くこともできます。
if (条件式1) {
then文1
} else if (条件式2) {
then文2
} else if (条件式3) {
then文3
}
さらに、else { ... } をつなげることもできます。
if (条件式1) {
then文1
} else if (条件式2) {
then文2
} else {
else文
}
プログラムで実際の動きを確認してみましょう。
結果がどうなるか予想してから、コードは変更せずに「実行(Ctrl-Enter)」ボタンを押してください。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
いかがでしたでしょうか? 「出力」のところに
then-3!
if文終了
と表示されたら成功です。
今度は int a = 30 に書き換えて再度実行してみてください。
結果は変わりましたでしょうか?
else!
if文終了
と表示されたら成功です。
他にも 変数 a をいろいろ書き換えて、結果がどうなるか試してみましょう。
応用問題
【問題】
まずは、下記のプログラムをそのまま「実行(Ctrl-Enter)」してみましょう。
「出力」には -2 と表示されたはずです。
そこで問題です。
下記プログラムの if-elseif文
if (a < 5) {
a = -1;
} else if (a < 7) {
a = -2;
}
に対して、次の else if (...) { ... } の条件を追加してください。
else if (条件式) {
a = -3;
}
条件式については、自分で考えてみてください。
この else if の条件を最後に追加するのか? 真ん中に追加するのか? というのもポイントです。
そして、else if を追加した結果、最後の println メソッドの出力で -3 と表示されるようにしてください。
System.out.println(a); // ★この出力
それでは、下のプログラムに else if の条件をもう1つ書き加えて「実行(Ctrl-Enter)」してみましょう。
(表示がおかしいときは「コードの再読み込み」ボタンを押してみてください)
無事に、
-3
と出力されましたでしょうか?
もし解けなかった場合は、下記の回答例をご参照ください。
回答例
【コード】
public class Main {
public static void main(String[] args) {
int a = 5;
if (a < 5) {
a = -1;
} else if (a < 6) {
a = -3;
} else if (a < 7) {
a = -2;
}
System.out.println(a);
}
}
【出力】
-3
まとめ
Java の if-else文は、次のように記述します。
if (条件式) {
then文
} else {
else文
}
- 条件式を 満たすとき、then文 が実行されます。
- 条件式を 満たさないとき、else文 が実行されます。(then文 は実行されません)
if-elseif文は、次のように記述します。
if (条件式1) {
then文1
} else if (条件式2) {
then文2
}
- 条件式1を 満たすとき、then文1 が実行されます。
- 条件式1を 満たさないで 条件式2を 満たすとき、then文2 が実行されます。(then文1 は実行されません)
もう少し詳しいことは「if文の基本 (文法)」の記事でも解説しています。
興味がありましたら、そちらもぜひご参照ください。
次回は「手を動かして学ぶ Java入門 (文字列の連結)」になります。
関連記事
- シリーズ
- 手を動かして学ぶ Java入門 (Hello world 編)
- 手を動かして学ぶ Java入門 (数値と演算)
- 手を動かして学ぶ Java入門 (数値と変数)
- 手を動かして学ぶ Java入門 (コメントの書き方)
- 手を動かして学ぶ Java入門 (文と式の違い)
- 手を動かして学ぶ Java入門 (if文)
- 手を動かして学ぶ Java入門 (if-else文、if-elseif文)
- 手を動かして学ぶ Java入門 (文字列の連結)
- 手を動かして学ぶ Java入門 (while文)
- 手を動かして学ぶ Java入門 (break文)
- 手を動かして学ぶ Java入門 (continue文)
- 手を動かして学ぶ Java入門 (for文)
- 手を動かして学ぶ Java入門 (クラスの超基本)
- 手を動かして学ぶ Java入門 (クラス・メソッド)
- 手を動かして学ぶ Java入門 (クラス・フィールド)
- 手を動かして学ぶ Java入門 (クラス・コンストラクタ)
- 手を動かして学ぶ Java入門 (文字列クラス)
- 手を動かして学ぶ Java入門 (静的メソッド)
- 手を動かして学ぶ Java入門 (静的フィールド)