2016-10-22 95 views
-2

好吧,我有一對夫婦在這裏值:這些數字是什麼,它們的類型是什麼?

'F', 0xf, 070, 70L, 77e-1f, 7.7f, 7.77e1, 77.7 

我知道'F'char70L有型long。另外,我知道0xf是十六進制(對吧?),而070是八進制。但那些其他數字是什麼?爲什麼地獄是77.7double而不是float

+1

*爲什麼地獄*你已經包含了你已經知道的東西? :) –

+1

*「爲什麼地獄是77.7倍,不漂浮?」*研究不是你的力量,對吧? https://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.2。至少你得到了另一個不好的用戶「可憐upvote」:)。 – Tom

+0

我不明白。所以77.7和77,7不一樣? – Geddi

回答

1

什麼你要找的是this

  • 關於77.7

浮點文字是float類型的,如果它與字母F 或f結束;否則它的類型是雙倍的,並且它可以選擇以字母D或d結束 。

  • 0xfhex類型不是。沒有類型hex。這只是一個十六進制的wirtten int。就像070是用八進制寫的int

  • 文字77e-1f顯然是一個浮點數,因爲它以f結尾。

  • eexponent77e-1f實際上77 * 10^(-1)7.7。由於相同的原因,字面7.77e1是雙倍數77.7是雙倍數,只是7.77e1等於7.77 * 10^1 = 77.7

+0

OKOK非常感謝你:) – Geddi

+0

@Pshemo你當然是對的。固定。 – Malt

0

只有兩個,你沒有解釋自己:

7.7f 

使得f意味着浮動 - 這表明,這不應該是一個文字,但遠,浮法之一!你可以看到,默認情況下,任何「浮點」文字自動類型爲double,您需要「f」才能執行「更小」浮點類型。

而且

77e-1f 

用科學記數法,見here例如用於進一步的解釋。

0

爲什麼地獄是77.7倍,而且不漂浮?

浮動號已被使用f的結束,但數字表示不需要對最終d

77e-1f浮子77到的10^-1功率,所以它等於7.7

7.77e1 == 77.7

+1

但是我們正在討論java的。在Java中,字面070是八進制。總是。 – GhostCat

+0

謝謝,我刪除了那部分。 – Defozo

+0

非常感謝:) – Geddi

0

在包含一個點的Java數值文字相同的類型的默認兩倍。如果你想要一個浮動,你可以追加f

包含e的數字是指數或科學記數法,但我不打算在這裏解釋它,因爲它與編程無關。

0

77E-1含義:77是數乘法器,e(或E)指base 10,和-1裝置指數。

所以結果是通過7710搭載-1),或通過77.1島即7.7

這個符號的名稱是科學對數,也是很好的非常大或非常小的數字,E。 G。 1 million = 1.000.000可能表示爲1e6

相關問題