使用' d'是一种好习惯。在Java中定义双重文字时?

时间:2014-09-26 19:06:22

标签: java double literals

如果我想定义双文字,我写道:

(1) double a = 12.0;

但是当我在小数点后面没有东西时定义double,例如

(2) double b=12;

使用

更容易接受
(3) double c=12d;

代替?

据我所知(1)是最好的方法,如果我能问你下一个更好的方法来宣布双重文字,这将是你的选择和原因?

3 个答案:

答案 0 :(得分:3)

来自Java语言规范:

  

如果浮点字面值以字母F或f结尾,则浮点字面值为float类型;否则它的类型是双倍的,它可以选择以字母D或d结尾。

     

也可以表示浮点类型(float和double)   使用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与您已经知道的省略相同,但我会说遵循约定更好并省略它。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

这并不重要。没有任何区别。
默认类型为double。因此,除非你放置f(如果你想将值视为浮点数),默认情况下该值被视为double。
它与整数相同。默认类型为int。如果您想要long,则必须添加l,否则所有内容都为int