在 Java 中定义双文本时,使用 'd' 是否是一种好的做法?



嗨,如果我想定义我写的双文本:

(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;

因此,添加Dd与省略是一样的,正如您所知,但我想说的是,最好遵循惯例并省略它。

这其实并不重要。没有任何区别
默认类型为double。因此,除非放置f(如果要将该值视为浮点值),否则默认情况下该值将被视为双精度值
这和整数是一样的。默认类型为int。如果你想要一个long,你必须添加一个l,否则一切都是int

编译器糖。我最多使用选项2,但如果我想强制执行计算结果,我使用选项3。

   int intval = ...
   double intdev = 1 / intval;
   double doubledev = 1d / intval; 

最新更新