科学记数法是解释为int还是float?

Jaw*_*wap 11 java int scientific-notation

如果我使用科学记数法对我的代码中的数字进行硬编码(例如1e9)该数字的类型是什么(int,long,float,double ..)?

当有效数或指数是浮点数时,它显然不能是整数,但在上述情况下是什么?

NPE*_*NPE 14

将e使其成为一个浮点文字.来自JLS(§3.10.2.浮点文字):

浮点字面值的类型float如果后缀为ASCII字母F或f; 否则其类型是double,并且可以选择以ASCII字母D或d(§4.2.3)为后缀.

因此,1e9类型double,按原样1e9d.另一方面,1e9f是类型float.


poi*_*oae 5

这些通常是double类型的。如果在其后放f(of F),则为浮点数。

double d = 1e9; 
float f = 1e9f;
Run Code Online (Sandbox Code Playgroud)