Java 中的双精度

Mohammad Irfan 2023年1月30日 2022年4月26日
  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