如果我使用硬编码科学记数法(例如,在我的代码数量1e9
)究竟会是数类型是(INT,长,浮动,双..)?
当尾数或指数是浮点数它不能在上述情况下显然是一个整数,但什么?
如果我使用硬编码科学记数法(例如,在我的代码数量1e9
)究竟会是数类型是(INT,长,浮动,双..)?
当尾数或指数是浮点数它不能在上述情况下显然是一个整数,但什么?
该e
使其浮点文字。 从JLS( 。§3.10.2浮点文本 ):
浮点文字的类型为
float
如果它与ASCII字母后缀F
或f
; 否则其类型是double
并且它可以任选地用一个ASCII字母后缀D
或d
(§4.2.3)。
因此, 1e9
类型的double
,如1e9d
。 在另一方面, 1e9f
是类型的float
。
这些通常是双精度型。 如果你把一个f
(的F
它后面),这是一个浮动。
double d = 1e9;
float f = 1e9f;
这将被看作是一个浮点文字 ,和没有尾随f
或F
这将是一个double
。
整型常量不能用科学记数法。
这将是“双”,除非你用“F”或“F”,那么它会被漂浮的文字。
这是更好地使用双。 因为它已经十进制浮点是计算机运算系统紧密相关的科学记数法。 例如:0.000 000 007 51在科学记数法是7.51×10-9。 当您使用它作为INT,7.51将是7,而当你使用int这将是7.51。