嗨,如果我想定义我写的双文本:
(1) double a = 12.0;
但当我定义双精度时,小数点后没有什么东西,例如
(2) double b=12;
使用更容易接受吗
(3) double c=12d;
相反?
据我所知,(1)是最好的方法,如果我能问你,下一个更好的方法是什么来声明双重文字,这将是你的选择,为什么?
来自Java语言规范:
如果浮点文字以字母F或F结尾,则其类型为float;否则它的类型是双重的,并且可以选择以字母D或D结尾。
浮点类型(浮点和双精度)也可以表示使用E或E(用于科学记数法)、F或F(32位浮点文字)和D或D(64位双文本;这是默认值,按惯例省略)。
double d1 = 123.4;
// same value as d1, but in scientific notation
double d2 = 1.234e2;
float f1 = 123.4f;
因此,添加D
或d
与省略是一样的,正如您所知,但我想说的是,最好遵循惯例并省略它。
这其实并不重要。没有任何区别
默认类型为double
。因此,除非放置f
(如果要将该值视为浮点值),否则默认情况下该值将被视为双精度值
这和整数是一样的。默认类型为int
。如果你想要一个long
,你必须添加一个l
,否则一切都是int
。
编译器糖。我最多使用选项2,但如果我想强制执行计算结果,我使用选项3。
int intval = ...
double intdev = 1 / intval;
double doubledev = 1d / intval;