2013-05-14 51 views
1

是什麼後面的零雙變量聲明之間顯著差異: 0.0 VS 0d雙字段類型聲明零

double d1 = 0.0; 
double d2 = 0d; 

我的理解是,這兩個不僅僅是0好,因爲是讀碼器更明顯。

但是0.0 VS 0d區別不明確。

+1

我不相信是有區別的 – 2013-05-14 12:25:27

回答

5

沒有區別。看一看在Java Language Specification, section 3.10.2

DecimalFloatingPointLiteral:

  1. Digits . Digits選擇ExponentPart選擇FloatTypeSuffix選擇
  2. . Digits ExponentPart選擇FloatTypeSuffix選擇
  3. Digits ExponentPart FloatTypeSuffix選擇
  4. Digits ExponentPart選擇FloatTypeSuffix

...

FloatTypeSuffix: one of

f F d D 

兩者都是一個DecimalFloatingPointLiteral,第一個類型1,第二一種類型4

0

轉到檢查出JLS部上浮點文字:

甲浮點文字的類型爲float如果它與 ASCII字母F或f爲後綴;否則它的類型是雙倍的,並且它可以有 (可選)後綴爲ASCII字母D或d。

所以這是一個雙重如果它沒有後綴

+0

我編輯後,變量聲明爲雙 – sergionni 2013-05-14 12:26:12