カテゴリ: Java 更新日: 2026/02/08

JavaのDoubleクラスの使い方を完全ガイド!初心者でもわかる浮動小数点数操作

Doubleクラス
Doubleクラス

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

生徒

「先生、Javaで小数を扱うときにdoubleを使いますけど、Doubleクラスってどう違うんですか?」

先生

「doubleはプリミティブ型ですが、Doubleはそのラッパークラスでオブジェクトとして扱えるようになっています。」

生徒

「オブジェクトになるとどんな便利なことができるんですか?」

先生

「文字列との変換やコレクションへの格納、定数や便利なメソッドの利用などが可能になります。基本から順番に見ていきましょう。」

1. java.langパッケージとDoubleクラスとは

1. java.langパッケージとDoubleクラスとは
1. java.langパッケージとDoubleクラスとは

Javaのjava.langパッケージは自動で読み込まれるため、特別なインポートなしで利用できます。その中のDoubleクラスは、プリミティブ型doubleをオブジェクト化するラッパークラスであり、浮動小数点数を安全に扱うための便利な機能が多数用意されています。

2. doubleとDoubleの違い

2. doubleとDoubleの違い
2. doubleとDoubleの違い

doubleは単純に小数を扱うためのプリミティブ型ですが、Doubleはオブジェクトとして扱えるため、メソッド呼び出しやコレクションでの利用が可能です。Java5以降ではオートボクシング機能により、doubleとDoubleの変換を自動で行ってくれます。

3. Doubleクラスの基本的な生成方法

3. Doubleクラスの基本的な生成方法
3. Doubleクラスの基本的な生成方法

DoubleオブジェクトはvalueOfメソッドやオートボクシングを使って生成します。newで生成することも可能ですが、効率の面からvalueOfの利用が推奨されます。


public class DoubleExample {
    public static void main(String[] args) {
        Double d1 = Double.valueOf(10.5);
        Double d2 = 20.5; // オートボクシング
        double primitive = d1; // アンボクシング

        System.out.println("d1: " + d1);
        System.out.println("d2: " + d2);
        System.out.println("primitive: " + primitive);
    }
}

d1: 10.5
d2: 20.5
primitive: 10.5

4. Doubleクラスの主なメソッド

4. Doubleクラスの主なメソッド
4. Doubleクラスの主なメソッド

Doubleクラスには小数を扱うための便利なメソッドが揃っています。代表的なものを以下にまとめます。

  • parseDouble(String s):文字列をdouble型に変換する
  • valueOf(String s):文字列をDoubleオブジェクトに変換する
  • toString(double d):doubleを文字列に変換する
  • isNaN():数値がNaNかどうかを判定する
  • isInfinite():数値が無限大かどうかを判定する
  • MAX_VALUE:最大の正の有限値
  • MIN_VALUE:最小の正の非ゼロ値

5. 文字列と小数の変換

5. 文字列と小数の変換
5. 文字列と小数の変換

アプリケーション開発では文字列を小数に変換する場面が多くあります。その際に利用するのがDouble.parseDoubleです。逆に小数を文字列にしたい場合はDouble.toStringを使用します。


public class ConversionExample {
    public static void main(String[] args) {
        String str = "45.67";
        double num = Double.parseDouble(str);
        String text = Double.toString(num);

        System.out.println("数値: " + num);
        System.out.println("文字列: " + text);
    }
}

数値: 45.67
文字列: 45.67

6. 特殊な値の扱い

6. 特殊な値の扱い
6. 特殊な値の扱い

Doubleクラスは浮動小数点演算における特殊な値を表現できます。例えば、ゼロで割った場合にはInfinity(無限大)が、定義できない計算ではNaN(Not a Number)が返されます。これらはプログラムが予期せぬ挙動をしないようにチェックするのに役立ちます。


public class SpecialValuesExample {
    public static void main(String[] args) {
        double a = 1.0 / 0;
        double b = 0.0 / 0;

        System.out.println("無限大: " + a);
        System.out.println("NaN: " + b);
    }
}

無限大: Infinity
NaN: NaN

7. 実践的な活用例

7. 実践的な活用例
7. 実践的な活用例

Doubleクラスは金融計算、科学技術計算、グラフ描画など、小数点以下を正確に扱う必要があるシーンで多用されます。また、ユーザー入力を数値に変換する、コレクションに格納する、外部ファイルやデータベースとのやり取りを行う際にも役立ちます。ただし、浮動小数点は誤差が発生するため、精度が重要な場合はBigDecimalクラスを使う方が望ましい場面もあります。

生成AIを基礎から学びたい方へ

ChatGPTなどの生成AIをこれから学びたい方に向けて、AIスキルアカデミーの口コミ・評判、料金、無料セミナーの内容を詳しくまとめています。

AIスキルアカデミーの口コミ・評判を詳しく見る
カテゴリの一覧へ
新着記事
New1
Java
JavaのassertFalseとは?JUnit5のAssertionsクラスを初心者向けにわかりやすく解説
新規投稿
New2
Thymeleaf
ThymeleafでDBから取得したデータを編集フォームの初期値にセットする方法!Entity連携を初心者向けに解説
新規投稿
New3
Spring
JavaのSpringで使う@FutureOrPresentアノテーションを完全ガイド!初心者でもわかる日付バリデーション
新規投稿
New4
Java
JavaのLocalDateクラスのgetMonthValueメソッド完全ガイド!初心者でもわかる数値で月を取得する方法
新規投稿
人気記事
No.1
Java&Spring記事人気No1
Servlet
JavaサーブレットのdoPostメソッドとは?初心者向けにやさしく解説!
No.2
Java&Spring記事人気No2
Servlet
JavaのHttpServletResponseクラスを初心者向けに徹底解説!
No.3
Java&Spring記事人気No3
Servlet
JavaのHttpServletRequestWrapperとgetSessionメソッドの使い方を徹底解説!初心者向けServletのセッション管理入門
No.4
Java&Spring記事人気No4
Servlet
JavaのServletExceptionクラスを初心者向けに徹底解説!
No.5
Java&Spring記事人気No5
Servlet
JavaのHttpSessionインターフェースとgetSessionContextメソッドを徹底解説!初心者でもわかるセッション管理の基本
No.6
Java&Spring記事人気No6
Java
JavaのStringクラスとlengthメソッドを完全解説!初心者でも理解できる文字列の長さ取得の使い方
No.7
Java&Spring記事人気No7
Servlet
JavaのHttpSessionAttributeListenerとattributeRemovedメソッドの使い方を徹底解説!初心者でもわかるセッション属性の削除と監視
No.8
Java&Spring記事人気No8
Java
Javaのクラスとインスタンス化、コンストラクタの使い方完全ガイド!初心者でもわかるオブジェクト指向の基礎