Java 中的雙精度

Mohammad Irfan 2023年10月12日
  1. Java 中的雙精度 VS 浮點型別
  2. Java 中的原始 Double 型別
  3. まとめ
Java 中的雙精度

本教程介紹了 double 及其在 Java 中的用法。

Double 是 Java 中用於儲存浮點值的資料型別。Java 提供了一組豐富的資料型別,如 int、float、double、boolean 等。int 資料型別儲存整數值,如 -12-34

int 資料型別可以儲存介於 -2,147,483,648 (-231) 到 2,147,483,647 (231-1) 之間的值。它不能儲存諸如 1.52.88 之類的小數值。第二個原始引數稱為 float 可以儲存小數值。

Java 有另一種原始資料型別來儲存小數值,稱為 double。本教程將討論 double 以及 double 和 Double 之間的區別。

Double 是 Java 中的原始資料型別,而 Double 是可以建立雙精度物件值的包裝類。讓我們通過一些例子來理解。

Java 中的雙精度 VS 浮點型別

  • double 的範圍比 Java 中的 float 型別更大。
  • 這是因為 double 佔用 8 個位元組,而 float 只佔用 4 個位元組。
  • 雙精度資料型別比浮點資料型別慢。
  • 雙精度資料型別比浮點資料型別具有更高的精度。
  • double 可以精確到大約 15 位,而 float 可以只有 6 到 7 位的精度。

Java 中的原始 Double 型別

在這個例子中,我們建立了一個 double 型別的變數 d,它儲存一個浮點值。

看,由於雙重型別,此程式碼工作正常。我們不能使用 int 型別儲存這些值。這就是我們在 Java 中宣告雙精度型別的方式。

請參見下面的示例。

public class SimpleTesting {
  public static void main(String args[]) {
    double d = 34354.232;
    System.out.println("d = " + d);
  }
}

輸出:

d = 34354.232

在 Java 中新增兩個雙精度值

現在讓我們計算兩個雙精度值的總和。

為此,我們建立了三個雙精度變數並將結果儲存到雙精度變數中。如果我們將結果儲存為 int 型別,由於記憶體有限,結果將被截斷。

看看下面的程式碼。

public class SimpleTesting {
  public static void main(String args[]) {
    double d1 = 34354.232;
    double d2 = 4333.32313;
    double sum = d1 + d2;
    System.out.println("sum = " + sum);
  }
}

輸出:

sum = 38687.55513

Java 中的 double 包裝類

就像 int 有 Integer 一樣,float 有 Float 就像 double 有 Double 類來建立原始雙精度值的物件。換句話說,Double 是 double 資料型別的包裝類。

Double 類的語法是:

public final class Double extends Number implements Comparable<Double>

將 double 資料型別包裝到 Double 包裝器類中允許我們使用各種內建方法。讓我們通過程式碼示例來理解。

在 Java 中建立雙物件

讓我們首先建立一個示例來建立一個 Double 物件。看看下面的程式碼。

public class SimpleTesting {
  public static void main(String args[]) {
    Double d1 = 34354.232;
    System.out.println(d1);
  }
}

輸出:

34354.232

在 Java 中使用 sum() 方法新增兩個雙精度值

Java Double 類提供了幾種對浮點值執行的內建方法。Java 在 Java 8 版本中新增了一個 sum() 方法來獲得兩個浮點值的相加。

在這裡,我們使用了這種方法,並看到了下面的程式碼。

public class SimpleTesting {
  public static void main(String args[]) {
    Double d1 = 34354.232;
    Double d2 = 4333.32313;
    Double sum = Double.sum(d1, d2);
    System.out.println(sum);
  }
}

輸出:

38687.55513

まとめ

在本教程中,我們瞭解了 Java 中 double 的含義。然後我們瞭解了 double 和 float 之間的區別。我們還了解了 Double 包裝器類及其方法。

相關文章 - Java Double