広告

手を動かして学ぶ Java入門 (if-else文、if-elseif文)

環境構築不要! ブラウザから直接コードを実行できます。
本記事では、Java の if-else文 と if-elseif文 について学びます。

10分くらいで、さくっと終わる記事をめざしています。


シリーズ一覧

  1. 手を動かして学ぶ Java入門 (Hello world 編)
  2. 手を動かして学ぶ Java入門 (数値と演算)
  3. 手を動かして学ぶ Java入門 (数値と変数)
  4. 手を動かして学ぶ Java入門 (コメントの書き方)
  5. 手を動かして学ぶ Java入門 (文と式の違い)
  6. 手を動かして学ぶ Java入門 (if文)
  7. 手を動かして学ぶ Java入門 (if-else文、if-elseif文)
  8. 手を動かして学ぶ Java入門 (文字列の連結)
  9. 手を動かして学ぶ Java入門 (while文)

続きは近日公開予定!

はじめに

この記事は paiza.IO の「Online Java compiler」を利用しています。
2024/9/13 現在、上記環境の Java バージョンは 18 です。(paiza.IO利用ガイド)

実行したコードは paiza.IO で保存および公開されることがあります。
そのため、個人情報などの機密性の高い情報は、コードとして入力しないようにご注意ください。

詳細は paiza.IO の利用規約およびプライバシーポリシーをご確認ください。

前回のおさらい

if文(イフぶん、英: if statement)は、プログラミング言語において、真理値に従って「もし条件Cが満たされるならば、Xを実行せよ」というような条件付き実行の「文」で、制御構造のひとつである。

前回の記事 では if文について学びました。
if文とは、プログラムを条件分岐させるための制御文です。

  • もし A なら B を処理する

というコードですね。

フローチャート1

基本の形は次のようになります。

if (条件式) {
    then文
}

今回の記事では if文を発展させた、

  • if-else文
  • if-elseif文

の2つについて学びます。

if-else文とは

if-else文とは

  • もし A なら B を処理する
  • A でないなら C を処理する

というコードです。

【 if-else文のイメージ 】

フローチャート2

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文のイメージ 】

フローチャート3

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入門 (文字列の連結)」になります。


関連記事

  1. 手を動かして学ぶ Java入門 (Hello world 編)
  2. 手を動かして学ぶ Java入門 (数値と演算)
  3. 手を動かして学ぶ Java入門 (数値と変数)
  4. 手を動かして学ぶ Java入門 (コメントの書き方)
  5. 手を動かして学ぶ Java入門 (文と式の違い)
  6. 手を動かして学ぶ Java入門 (if文)
  7. 手を動かして学ぶ Java入門 (if-else文、if-elseif文)
  8. 手を動かして学ぶ Java入門 (文字列の連結)
  9. 手を動かして学ぶ Java入門 (while文)
ページの先頭へ