Java数据类型教程 - Java double数据类型
double数据类型使用64位来存储浮点数。double值也称为双精度浮点数。
它可以表示数量小到4.9 x 10-324和大到1.7 x 10308大小。
它可以是正的或负的。
所有实数被称为双精度字面量。双精度字面量可以可选地以d或D结尾,例如1.27d。
后缀d或D在双精度字面量中是可选的。
19.7和19.7d代表相同的双精度字面量。
双精度字面量
双精度字面值可以用以下两种格式表示:十进制数字格式
科学计数法
十进制数字格式的双精度字面值示例如下: double d1 = 8D;double d1 = 8D ;
double d2 = 8.;
double d3 = 8.0;
double d4 = 8.D;
double d5 = 78.9867;
double d6 = 45.0;
8是一个int字面量,而8D,8和8.0是双精度字面量。
我们还可以使用科学记数法表达双精度字面量。double d1 = 32.5E-1;
double d2 = 0.325E+1;
double d3 = 0.325E1;
double d4 = 0.0325E2;
double d5 = 0.0325e2;
double d6 = 32.5E-1D;
double d7 = 0.325E+1d;
double d8 = 0.325E1d;
double d9 = 0.0325E2d;
注意
double数据类型定义了两个零,两个无穷大和一个NaN。它们由Double类中的常量表示。
下表列出了这些常量及其含义。常量含义
Double.POSITIVE_INFINITY正无穷大类型double
Double.NEGATIVE_INFINITY负无穷大类型double
Double.NaN不是类型double的数量
Double.MAX_VALUE可以在双变量中表示的最大正值。这等于1.7 x 10308。
Double.MIN_VALUE大于零的最小正值,可以在双变量中表示。 这等于4.9 x 10-324。
可以将所有整型类型(int,long,byte,short,char)和float的值分配给双精度数据类型的变量,而不使用显式强制转换。int num1 = 15;
double salary = num1;
salary = 12345;
double bigNum = Double.MAX_VALUE;
bigNum = 1234L;
double justAChar = "A";
double dInf = Double.POSITIVE_INFINITY;
double dNan = Double.NaN;
在将double值分配给任何整数数据类型(int,long,byte,short或char)的变量之前,必须将其转换为整数类型。