カテゴリ: Java 更新日: 2025/12/19

JavaのRandom のnextBooleanメソッドの使い方を完全ガイド!分かりやすく解説

Random のnextBooleanメソッド
Random のnextBooleanメソッド

先生と生徒の会話形式で理解しよう

生徒

「Javaで乱数を使いたいんですが、どうやって書くんですか?」

先生

「乱数を使うにはRandomクラスを使うのが基本です。たとえば、ランダムな真偽値を得たいときにはnextBooleanメソッドが便利ですよ。」

生徒

「ランダムな真偽値って、trueかfalseがランダムで出るんですか?」

先生

「そのとおりです!では、実際にRandomクラスの使い方とnextBooleanメソッドの使い方を詳しく見ていきましょう。」

1. JavaのRandomクラスとは?

1. JavaのRandomクラスとは?
1. JavaのRandomクラスとは?

JavaのRandomクラスは、乱数を生成するための便利なクラスです。java.utilパッケージに含まれていて、さまざまな形式の乱数を生成できます。たとえば、整数や小数、そして今回のテーマである真偽値(trueまたはfalse)なども生成できます。

乱数を使いたいときは、まずRandomクラスのインスタンスを作るところから始めます。

2. Randomクラスの基本的な使い方

2. Randomクラスの基本的な使い方
2. Randomクラスの基本的な使い方

Randomクラスを使うには、以下のようにしてインスタンスを生成します。


import java.util.Random;

public class RandomExample {
    public static void main(String[] args) {
        Random random = new Random();
    }
}

このようにしておくことで、randomという変数からさまざまな乱数メソッドを呼び出せるようになります。

3. nextBooleanメソッドの概要

3. nextBooleanメソッドの概要
3. nextBooleanメソッドの概要

nextBooleanメソッドは、ランダムにtrueまたはfalseのどちらかを返すメソッドです。確率は基本的に50%ずつとなっていて、公平にどちらかが返ってくる仕様になっています。

使い方はとてもシンプルで、random.nextBoolean()と書くだけで、毎回ランダムな真偽値が返ってきます。

4. nextBooleanメソッドの使用例

4. nextBooleanメソッドの使用例
4. nextBooleanメソッドの使用例

次のコードは、nextBooleanメソッドを使って10回ランダムなtruefalseを出力するサンプルです。


import java.util.Random;

public class RandomBooleanExample {
    public static void main(String[] args) {
        Random random = new Random();
        for (int i = 0; i < 10; i++) {
            boolean result = random.nextBoolean();
            System.out.println("結果:" + result);
        }
    }
}

このコードを実行すると、以下のようにtruefalseがランダムに表示されます。


結果:true
結果:false
結果:true
結果:true
結果:false
結果:false
結果:true
結果:false
結果:true
結果:false

5. nextBooleanメソッドの活用例

5. nextBooleanメソッドの活用例
5. nextBooleanメソッドの活用例

たとえば、じゃんけんやコイントスのような二択をランダムで決めたいときにnextBooleanはとても便利です。「表が出たらtrue」「裏が出たらfalse」というように使えます。

以下の例では、trueなら「表」、falseなら「裏」と表示します。


import java.util.Random;

public class CoinToss {
    public static void main(String[] args) {
        Random random = new Random();
        boolean coin = random.nextBoolean();
        if (coin) {
            System.out.println("表が出ました!");
        } else {
            System.out.println("裏が出ました!");
        }
    }
}

6. nextBooleanと他のRandomメソッドの違い

6. nextBooleanと他のRandomメソッドの違い
6. nextBooleanと他のRandomメソッドの違い

Randomクラスには、nextIntnextDoubleなどのメソッドも用意されていますが、nextBooleanはその中でも特に単純で使いやすいメソッドです。

たとえば、0か1を乱数で出して、それをtruefalseに変換することも可能ですが、それよりもnextBooleanを使ったほうがコードがすっきりして読みやすくなります。

7. RandomクラスとMath.randomとの違い

7. RandomクラスとMath.randomとの違い
7. RandomクラスとMath.randomとの違い

Javaで乱数を扱う方法はRandomクラスだけではありません。Math.random()という静的メソッドもあり、こちらはdouble型の乱数(0.0以上1.0未満)を生成します。

ただし、Math.random()ではboolean型の乱数を直接生成できないため、RandomクラスのnextBooleanメソッドのほうが便利なケースも多くあります。

8. Randomクラスを再利用する重要性

8. Randomクラスを再利用する重要性
8. Randomクラスを再利用する重要性

Randomクラスは、一度インスタンスを作ったら使いまわすのが基本です。毎回new Random()を実行すると、意図しない似たような乱数が出てしまう場合もあります。

アプリケーション全体で同じRandomインスタンスを使うように設計すると、より自然なランダム性を保つことができます。

9. まとめ

9. まとめ
9. まとめ

ここまで、JavaのRandomクラスとnextBooleanメソッドの使い方について詳しく学んできました。Javaで乱数を扱うときはRandomクラスを使うのが基本であり、その中でもnextBooleanメソッドは、ランダムなtruefalseを手軽に得たい場面で非常に役立ちます。

nextBooleanは、ゲームやシミュレーション、条件分岐のテストなど、さまざまな用途で活用できます。特に、2択の処理や確率的な分岐など、真偽値のランダム性が求められる場面では、このメソッドがとても重宝されます。

また、Math.random()との違いや、Randomクラスの他のメソッドとの比較も理解しておくことで、Javaにおける乱数処理の幅を広げることができます。ランダムな数値や真偽値を使いこなすことは、プログラミングにおいて非常に重要なスキルのひとつです。

さらに、毎回new Random()を生成するよりも、同じRandomインスタンスを使い続けることで、より自然な乱数が得られるという設計上のポイントもおさえておくと、今後の開発に役立ちます。

最後に、実践的な例として、じゃんけんやコイントスのシミュレーションで使える簡単なコードも確認しました。以下のコードは、3回連続でランダムなコイントスの結果を表示するサンプルです。


import java.util.Random;

public class CoinTossRepeat {
    public static void main(String[] args) {
        Random random = new Random();
        for (int i = 0; i < 3; i++) {
            boolean coin = random.nextBoolean();
            if (coin) {
                System.out.println("表");
            } else {
                System.out.println("裏");
            }
        }
    }
}

このように、Javaの乱数処理をマスターするためには、Randomクラスとその各種メソッドを理解し、適切に使い分けることが大切です。とくにnextBooleanは構文もシンプルなので、初心者が最初に覚えるべき乱数メソッドのひとつといえるでしょう。

先生と生徒の振り返り会話

生徒

nextBooleanメソッドって、コイントスとかに使えるんですね。真偽値がランダムに出るのって意外と便利ですね。」

先生

「そうですね。truefalseの2択をランダムに選ぶだけですが、使い道は非常に広いですよ。ゲームの判定処理や、確率的な演出にも使えます。」

生徒

「他にもnextIntとかnextDoubleっていうメソッドもあるんですよね?」

先生

「はい、整数や実数の乱数も生成できます。今回学んだnextBooleanのように、用途に応じて適切なメソッドを使い分けることが大切です。」

生徒

Randomインスタンスは何回も作らないほうがいいっていうのもポイントですね!」

先生

「そのとおり。乱数の精度やパフォーマンスを意識するなら、同じインスタンスを使い回すのが基本です。これで、乱数の基礎はばっちりですね!」

カテゴリの一覧へ
新着記事
Springの@Transactional徹底解説!トランザクションの伝播・分離レベル・タイムアウトの基本
JavaのHashMapクラスgetメソッドの使い方を完全ガイド!初心者でもわかるjava.util入門
Thymeleafのth:fragmentを使ったテンプレートの再利用方法を完全ガイド!初心者でもわかる使い方
Javaの@PathVariableアノテーションの使い方を徹底解説!初心者でもわかるパスパラメータの基本と応用
人気記事
No.1
Java&Spring記事人気No1
Javaのラムダ式で配列を扱う!Arrays.streamの基本と注意点を初心者向けに解説
No.2
Java&Spring記事人気No2
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.3
Java&Spring記事人気No3
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.4
Java&Spring記事人気No4
JavaのIntegerクラスの使い方を完全ガイド!初心者でもわかる整数操作
No.5
Java&Spring記事人気No5
JavaのBigDecimalクラスcompareToメソッド完全ガイド!初心者でもわかる大小比較の基本
No.6
Java&Spring記事人気No6
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
No.8
Java&Spring記事人気No8
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本