こんにちは。ハンドルネーム「Javaを復習する初心者」です。このサイトはプログラミング言語Javaの復習・学習をするブログです。プログラムの開発・実行はEclipseで行ってます。
スポンサーリンク
お知らせ
  • 参考文献のページ作りました。
  • Amazon.co.jpアソシエイトに参加していますが、参考文献の紹介はもしもアフィリエイトに統一しました。
  • 2016年10月9日からは投稿ペースを落とします。週1回くらいにする予定です。
スポンサーリンク

else if文

こんにちは。「Javaを復習する初心者」です。今回はif-else-if文を扱いました。

前回はif文とelse文を復習しました。「条件を満たす場合」、「それ以外の場合」という処理です。今回はその間のような雰囲気の「else if」文を復習します。前回のフローで「5のとき当たり」、「それ以外ははずれ」の箇所の分岐処理を変えて3パターンの分岐なるようにしました。

プログラム

以下にフローを書きます。

  1. int型変数numを初期値0で宣言する。
  2. numが5でない場合、以下の処理を繰り返す。
    1. numに0から9までのランダムな値を格納する。
    2. String型変数sを以下の形式で初期化する。
      “回数: ” + [繰り返し回数] + “, 値: ” + num

      1. numが5の場合、sにs + ” 当たり”を格納する。
      2. numが5より大きい、sにs + ” 大きい”を格納する。
      3. numがそれ場合、sにs + ” 小さい”を格納する。
    3. sをprintlnで出力する。

条件分岐のところは以下のように表にしたほうが分かりやすいかもしれません。

numの条件 末尾に追加する文字列
5 ” 当たり”
5より大きい ” 大きい”
5より小さい ” 小さい”
package test;

import java.util.Random;

public class HelloWhileIfElseIf {

    public static void main(String[] args) {

        Random random = new Random();
        int num = 0;
        int cnt = 0;
        while (num != 5) {
            num = random.nextInt(10); // 10未満の乱数
            String s = "回数: " + ++cnt + ", 値: " + num;

            if (num == 5) {
                s += " 当たり";
            } else if (num > 5) {
                s += " 大きい";
            } else {
                s += " 小さい";
            }

            System.out.println(s);
        }

    }

}
回数: 1, 値: 6 大きい
回数: 2, 値: 6 大きい
回数: 3, 値: 6 大きい
回数: 4, 値: 8 大きい
回数: 5, 値: 8 大きい
回数: 6, 値: 7 大きい
回数: 7, 値: 4 小さい
回数: 8, 値: 1 小さい
回数: 9, 値: 2 小さい
回数: 10, 値: 8 大きい
回数: 11, 値: 6 大きい
回数: 12, 値: 9 大きい
回数: 13, 値: 9 大きい
回数: 14, 値: 9 大きい
回数: 15, 値: 4 小さい
回数: 16, 値: 0 小さい
回数: 17, 値: 9 大きい
回数: 18, 値: 5 当たり

解説

if (条件1) {処理内容;…} else if (条件2) {処理内容;…}と書いた場合、条件1がfalseの場合、条件2が判定されます。その結果がtrueならelse ifの方の中括弧の中の処理が実行されます。また、else ifは続けて書くことができます。if (条件1) {処理内容;…} else if (条件2) {処理内容;…} else if (条件3) { 処理内容;… }という具合です。最後を「else」にすれば「どの条件も満たされなかった場合」の処理になります。

数値の比較についてですが、「a < b」の場合、aはbより小さい(bを含まない)です。「a <= b」と書いた場合、aはb以下(bを含む)です。