数字文字后缀大小写的编码指南

时间:2014-05-09 06:27:34

标签: java double number-literal

我做了一些谷歌搜索,但无法找到我的问题的解决方案。

根据double和float声明,是否有任何java编码指南? 什么是正确的?

  Double d = 1.0d;

  Double d = 1.0D;

(同样适用于Float和Long以及它们的原语。)

两个编译和两者似乎对我都没问题,但是在阅读这些代码行时我看到了清晰度的差异。具有大写d的那个似乎更有可能被读错 - > " d"可以读作" 0"左右。

有任何建议或想法吗?

3 个答案:

答案 0 :(得分:6)

这真的只是个人偏好,我相信小写更常见。这就像缩进,挑选东西并坚持下去。

Java language spec提到L首选long是{{1}}值的首选,因为它更容易阅读,但它没有提及任何关于f / F或d / D的内容。

答案 1 :(得分:4)

来自the Java Tutorials

  

浮点文字

     

如果浮点字面值以字母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;

这告诉你:

  • D和d都有相同的含义 - 就像你观察到的那样
  • "按照惯例[省略D或d]"因为它们是默认的

类型问题"什么是更好"在StackOverflow上是非正式的,因为他们无法得到正确或错误的答案,只有意见。

但是如果你要求一个约定我会倾向于遵循我上面找到的 - 省略后缀。

答案 2 :(得分:2)

您通常使用与数字分开的字母。很长一段时间我不知道背后的原因,但有人告诉我,大写字母更容易从数字中分离出来。想象你有一个龙的“L”:

long x = 10000L

更清晰
long x = 10000l

“l”很容易被误认为是“1”。

在你的情况下,你应该更喜欢“d”而不是“D”。