我做了一些谷歌搜索,但无法找到我的问题的解决方案。
根据double和float声明,是否有任何java编码指南? 什么是正确的?
Double d = 1.0d;
或
Double d = 1.0D;
(同样适用于Float和Long以及它们的原语。)
两个编译和两者似乎对我都没问题,但是在阅读这些代码行时我看到了清晰度的差异。具有大写d的那个似乎更有可能被读错 - > " d"可以读作" 0"左右。
有任何建议或想法吗?
答案 0 :(得分:6)
这真的只是个人偏好,我相信小写更常见。这就像缩进,挑选东西并坚持下去。
Java language spec提到L
首选long
是{{1}}值的首选,因为它更容易阅读,但它没有提及任何关于f / F或d / D的内容。
答案 1 :(得分:4)
浮点文字
如果浮点字面值以字母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;
这告诉你:
类型问题"什么是更好"在StackOverflow上是非正式的,因为他们无法得到正确或错误的答案,只有意见。
但是如果你要求一个约定我会倾向于遵循我上面找到的 - 省略后缀。
答案 2 :(得分:2)
您通常使用与数字分开的字母。很长一段时间我不知道背后的原因,但有人告诉我,大写字母更容易从数字中分离出来。想象你有一个龙的“L”:
long x = 10000L
比
更清晰long x = 10000l
“l”很容易被误认为是“1”。
在你的情况下,你应该更喜欢“d”而不是“D”。