[OK]を私はここにカップルの値を得た:これらの番号とその種類は何ですか?
'F', 0xf, 070, 70L, 77e-1f, 7.7f, 7.77e1, 77.7
私は'F'
がchar
であることを知っていると70L
というタイプlong
を持っています。また、私は0xf
が16進数(右?)であり、070
が8進数であることを知っています。しかし、他の数字は何ですか?そしてなぜ地獄は77.7
double
で、float
でもないのですか?
[OK]を私はここにカップルの値を得た:これらの番号とその種類は何ですか?
'F', 0xf, 070, 70L, 77e-1f, 7.7f, 7.77e1, 77.7
私は'F'
がchar
であることを知っていると70L
というタイプlong
を持っています。また、私は0xf
が16進数(右?)であり、070
が8進数であることを知っています。しかし、他の数字は何ですか?そしてなぜ地獄は77.7
double
で、float
でもないのですか?
あなたが探しているのはthis
77.7
である:それは手紙F またはfで終わる場合浮動小数点リテラルはfloat型です。それ以外の場合はその型はdouble型で、オプションで末尾に という文字Dまたはdを付けることができます。
0xf
タイプhex
ではありません。タイプはhex
です。それは単純にint
の16進数のwirttenです。 070
と同じように、8進数で書かれたint
です。
77e-1f
は、f
で終わるので、明らかに浮動小数点です。
e
は、exponent
、すなわち77e-1f
が実際77 * 10^(-1)
又は7.7
です。リテラル7.77e1
は同じ理由でダブルです77.7
はダブルです、それはちょうどその7.77e1
は7.77 * 10^1
= 77.7
に等しいです。
あなた自身を説明しなかっただけで2:
7.7f
fはフロート意味する - それは、これがフロート1、ダブルリテラルが、うまくすべきではないことを示しています!デフォルトでは、浮動小数点型リテラルは自動的にdoubleの型であることがわかります。「小」浮動小数点型を実行するには、 "f"が必要です。
そして
77e-1f
更なる説明については、例えばhereを参照して、科学的表記法を使用しています。
と同じタイプのデフォルトでは、二重です。フロートが必要な場合は、f
を追加する必要があります。
e
を含む数字は指数関数的または科学的な表記法ですが、プログラミングとは関係ないのでここでは説明しません。
77E-1この手段:
77
は数乗算器、e
(又はE
)であるがbase 10
を意味し、-1
指数を意味します。
その結果は、I、(-1
によって給電10
)によって77
、又は.1
によって77
です。 e。 7.7
この表記の名前は科学または対数であり、E、非常に大規模なまたは非常に少数のために良いです。 g。 1 million = 1.000.000
は、1e6
と表記できます。なぜあなたはすでに知っていることを含めていますか? :) –
* "なぜ、地獄は77.7倍で、浮かんでいないの?" *研究はあなたの強みではないのですか? https://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.2。少なくともあなたは別の悪いユーザによって「同情アップヴォート」を得ています:)。 – Tom
私はそれを取得しません。だから77.7は77,7と同じではない? – Geddi