カテゴリ: Java 更新日: 2026/01/28

JavaのBigDecimalクラスminメソッドを完全解説!初心者でもわかる数値比較

BigDecimalのminメソッド
BigDecimalのminメソッド

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

生徒

「先生、Javaで二つの数値を比べて、小さい方を取り出す方法ってありますか?」

先生

「はい、Javaではjava.mathパッケージに含まれるBigDecimalクラスを使えば、小数点を含む数値も正確に比較できます。その中のminメソッドを使うと小さい方の値を簡単に取得できますよ。」

生徒

「それは便利ですね!どうやって使うんですか?」

先生

「では、基本的な使い方から見ていきましょう。」

1. BigDecimalクラスとは?

1. BigDecimalクラスとは?
1. BigDecimalクラスとは?

BigDecimalクラスはjava.mathパッケージに含まれていて、小数を正確に扱うためのクラスです。doublefloatでは計算誤差が出ることがありますが、BigDecimalを使うと桁数の多い小数も安心して計算できます。金融システムや価格計算のように誤差が許されない場面では必ず使われる大切なクラスです。

2. minメソッドの基本

2. minメソッドの基本
2. minメソッドの基本

minメソッドは二つのBigDecimalオブジェクトを比較し、小さい方の値を返します。たとえば「商品の割引価格と通常価格のうち、安い方を知りたい」といった場面で役立ちます。


BigDecimal result = value1.min(value2);

このように記述すると、value1value2のうち小さい方がresultに格納されます。

3. サンプルコードで理解する

3. サンプルコードで理解する
3. サンプルコードで理解する

実際にminメソッドを使ったプログラムを見てみましょう。


import java.math.BigDecimal;

public class BigDecimalMinExample {
    public static void main(String[] args) {
        BigDecimal price1 = new BigDecimal("1500.75");
        BigDecimal price2 = new BigDecimal("1200.50");

        BigDecimal cheaper = price1.min(price2);

        System.out.println("小さい方の値は: " + cheaper);
    }
}

このプログラムを実行すると次のような結果になります。


小さい方の値は: 1200.50

Javaの基礎を最初から体系的に学びたい人には、 初心者向けで定評のある定番入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazonアソシエイト・プログラムを利用しています

4. maxメソッドとの違い

4. maxメソッドとの違い
4. maxメソッドとの違い

minメソッドが小さい方を返すのに対して、maxメソッドは大きい方を返します。両方を組み合わせて使うと最大値と最小値を一度に求められるので便利です。


BigDecimal maxValue = price1.max(price2);
BigDecimal minValue = price1.min(price2);

このように書くと、両方の値を使って範囲を調べることができます。

5. 実用的な使いどころ

5. 実用的な使いどころ
5. 実用的な使いどころ

買い物アプリや決済システムでは、クーポン割引額や手数料を比較して小さい方を使うといったケースがよくあります。例えば「割引率に応じて支払額を計算し、最低支払金額を保証する」といった処理にminメソッドが役立ちます。

また、ユーザーが入力した複数の金額のうち最も小さい値を探す処理でもminはシンプルでわかりやすい書き方を可能にします。

6. 注意点とベストプラクティス

6. 注意点とベストプラクティス
6. 注意点とベストプラクティス

BigDecimalを使うときはnew BigDecimal("1500.75")のように文字列で生成するのが推奨です。doubleを直接渡すと誤差が発生する可能性があるためです。

さらにBigDecimalは不変オブジェクトなので、minメソッドを呼んでも元の値は変化しません。戻り値を新しい変数に代入して利用しましょう。

7. 追加で知っておきたい関連知識

7. 追加で知っておきたい関連知識
7. 追加で知っておきたい関連知識

minメソッドは二つの値の比較ですが、複数の数値の中から最小値を求めたい場合には繰り返し処理と組み合わせて使います。たとえばリストに格納した複数のBigDecimalを順にminで比較していくと、全体の最小値を効率的に求められます。

また、Java8以降であればストリームAPIを活用して最小値を取得することも可能で、読みやすくモダンなコードが書けます。ただし、初心者のうちはまずminメソッドの基本的な使い方を確実に理解しておくことが大切です。

カテゴリの一覧へ
新着記事
Javaの@RestControllerアノテーションの使い方を完全ガイド!初心者でもわかるREST APIの基礎
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
JavaのBigDecimalクラスminメソッドを完全解説!初心者でもわかる数値比較
JavaのSpringの@ExceptionHandlerアノテーションを完全ガイド!初心者でもわかる例外処理
人気記事
No.1
Java&Spring記事人気No1
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.3
Java&Spring記事人気No3
JavaのEnumクラスのordinalメソッドを徹底解説!初心者でもわかる列挙型の順序番号
No.4
Java&Spring記事人気No4
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.5
Java&Spring記事人気No5
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.6
Java&Spring記事人気No6
JavaのArrayListクラスとgetメソッドを完全解説!初心者でもわかるリストの要素取得
No.7
Java&Spring記事人気No7
Thymeleaf(タイムリーフ)入門!初心者でもわかるSpring Bootとテンプレートエンジンの使い方
No.8
Java&Spring記事人気No8
Spring BootのJakarta移行ガイド!初心者向けjavax→jakarta変更ポイント徹底解説

💻 作業効率アップに

長時間のコーディングでも疲れにくい
静音ワイヤレスマウス

Logicool Signature M750 を見る

※ Amazonアソシエイト・プログラムを利用しています