以下零双变量声明之间有什么重大区别:
0.0
VS 0d
double d1 = 0.0;
double d2 = 0d;
我知道这两者都比0
好,因为对于代码阅读器来说更明显。
但0.0
VS 0d
差异对我来说并不清楚。
答案 0 :(得分:5)
没有区别。请查看 Java Language Specification, section 3.10.2
DecimalFloatingPointLiteral:
Digits . Digits
optExponentPart
optFloatTypeSuffix
opt. Digits ExponentPart
optFloatTypeSuffix
optDigits ExponentPart FloatTypeSuffix
<子>选择子>- 醇>
Digits ExponentPart
optFloatTypeSuffix
...
FloatTypeSuffix: one of
f F d D
两者都是DecimalFloatingPointLiteral
,第一个是类型1,第二个是类型4
答案 1 :(得分:0)
请查看有关浮点文字的JLS部分:
浮点文字的类型为float,如果后缀为 ASCII字母F或f;否则它的类型是双倍的,它可以 可选地以ASCII字母D或d为后缀。
如果它没有后缀,那么它就是双倍的