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

if文

こんにちは。「Javaを復習する初心者」です。今回は分岐処理を記述するif文を扱いました。

処理の流れは基本的に上から順番に処理する流れですが、if文で条件を指定し処理を分岐することができます。前回はwhile文で繰り返し処理を書いてみました。0から9までの数値をランダムに取り出し、5なら終わるという感じでした。今回は繰り返し処理の箇所で条件分岐して、最後に「当たり」という文字を追加して出力するようにしました。

プログラム

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

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

    3. numが5の場合、sにs + ” 当たり”を格納する。
    4. sをprintlnで出力する。
package test;

import java.util.Random;

public class HelloWhileIf {

    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 += " 当たり";
            }

            System.out.println(s);
        }

    }

}
回数: 1, 値: 1
回数: 2, 値: 3
回数: 3, 値: 3
回数: 4, 値: 1
回数: 5, 値: 7
回数: 6, 値: 7
回数: 7, 値: 5 当たり

解説

16から18行目でif文使ってます。if (条件) { 処理内容… }という書き方をします。条件がtrueの場合、括弧の部分が実行されます。ここで「true」と書きましたが、Javaでは真偽値を予約語のtrue/falseで表しますので、このような言い方にしました。では条件の箇所を0と書くとどうなるかというと、「型の不一致: int から boolean には変換できません」というエラーになります。

サンプルでは比較演算子「==」を使いました。比較演算子や論理演算子はtrue/falseのどちらかの値になります。boolean型変数を使って次のようなif文の使い方も可能です。

package test;

public class HelloBoolean {

    public static void main(String[] args) {

        boolean flag = 1 == 1;

        if (flag) {
            System.out.println("flagの値: " + flag);
        }

    }

}
flagの値: true

「1 == 1」はtrueですので、変数flagの値はtrueです。if文の条件がtrueになり、括弧の内容が実行されます。