広告

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

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

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


シリーズ一覧

続きは近日公開予定!

はじめに

この記事は paiza.IO の「Online Java compiler」を利用しています。
2024/9/30 現在、上記環境の 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入門 (文字列の連結)」になります。


関連記事

ページの先頭へ