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

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

Doubleクラス
Doubleクラス

教材紹介 Java学習のおすすめ教材

Javaの基礎を体系的に整理しながら学習したい方には、 資格対策としても定評のある定番教材が参考になります。

Javaプログラマ Silver SE 17 教科書をAmazonで見る

※ Amazon広告リンク

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

生徒

「先生、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以降ではオートボクシング機能により、doubleDoubleの変換を自動で行ってくれます。

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クラスを使う方が望ましい場面もあります。

カテゴリの一覧へ
新着記事
New1
Spring
SpringDataJPAのJPAクエリメソッド「And」の使い方を完全ガイド!初心者向け解説
更新記事
New2
Spring
SpringDataJPAのJPAクエリメソッド「Distinct」の使い方を完全ガイド!初心者向け解説
更新記事
New3
Java
JavaのScannerクラスとnextメソッドの使い方を徹底解説!初心者でもわかる入力処理
更新記事
New4
Thymeleaf
Thymeleafのth:lang属性を完全解説!初心者でもわかる国際化対応の方法
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.3
Java&Spring記事人気No3
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.4
Java&Spring記事人気No4
Spring
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.5
Java&Spring記事人気No5
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.6
Java&Spring記事人気No6
Spring
Spring BootのMultipartFile入門:ファイルアップロード・ダウンロードの実装方法と制限設定
No.7
Java&Spring記事人気No7
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.8
Java&Spring記事人気No8
Spring
SpringのModelクラスの使い方を完全ガイド!初心者でも安心

💻 作業効率アップに

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

Logicool Signature M750 を見る

※ Amazon広告リンク