double
数据类型使用64
位来存储浮点数。double
值也称为双精度浮点数。
它可以表示一个最小为4.9 x 10^-324,最大为1.7 x 10^308
的数字。它可以是正的或负的。
所有实数被称为double
字面量。 double
字面量可以可选地以d
或D
结尾,例如1.27d
。
后缀d
或D
在double
字面量中是可选的。19.7
和19.7d
代表相同的double
字面量。
double
字面量值可以用以下两种格式表示:
十进制数字格式的double
字面量值示例如下:
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
字面量。
还可以使用科学记数法表达double
字面量。
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 | 可在double 类型变量中表示的最大正值,等于1.7 x 10^308 |
Double.MIN_VALUE | 大于零的最小正值,可在double 类型变量中表示。等于4.9×10^-324。 |
可以将所有整型类型(int
,long
,byte
,short
,char
)和float
的值分配给double
类型双精度数据类型的变量,而不使用显式强制转换。
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
)的变量之前,必须将其转换为整数类型。