是什麼後面的零雙變量聲明之間顯著差異: 0.0
VS 0d
雙字段類型聲明零
double d1 = 0.0;
double d2 = 0d;
我的理解是,這兩個不僅僅是0
好,因爲是讀碼器更明顯。
但是0.0
VS 0d
區別不明確。
是什麼後面的零雙變量聲明之間顯著差異: 0.0
VS 0d
雙字段類型聲明零
double d1 = 0.0;
double d2 = 0d;
我的理解是,這兩個不僅僅是0
好,因爲是讀碼器更明顯。
但是0.0
VS 0d
區別不明確。
沒有區別。看一看在Java Language Specification, section 3.10.2
DecimalFloatingPointLiteral:
Digits . Digits
選擇ExponentPart
選擇FloatTypeSuffix
選擇. Digits ExponentPart
選擇FloatTypeSuffix
選擇Digits ExponentPart FloatTypeSuffix
選擇Digits ExponentPart
選擇FloatTypeSuffix
...
FloatTypeSuffix: one of
f F d D
兩者都是一個DecimalFloatingPointLiteral
,第一個類型1,第二一種類型4
轉到檢查出JLS部上浮點文字:
甲浮點文字的類型爲float如果它與 ASCII字母F或f爲後綴;否則它的類型是雙倍的,並且它可以有 (可選)後綴爲ASCII字母D或d。
所以這是一個雙重如果它沒有後綴
我編輯後,變量聲明爲雙 – sergionni 2013-05-14 12:26:12
我不相信是有區別的 – 2013-05-14 12:25:27