L.B*_*utz 4 java double number-literal
我做了一些googleling,但无法找到我的问题的解决方案.
根据double和float声明,是否有任何java编码指南?什么是正确的?
Double d = 1.0d;
Run Code Online (Sandbox Code Playgroud)
要么
Double d = 1.0D;
Run Code Online (Sandbox Code Playgroud)
(同样适用于Float和Long以及它们的原语.)
编译和两者似乎对我都没问题,但是在阅读这些代码行时,我看到了清晰度的差异.具有大写d的那个似乎更可能被读错 - >"D"可以被读为"0"左右.
有什么建议或想法吗?
您通常使用与数字分隔最好的字母。我有一段时间不知道这背后的原因,但有人告诉我大写字母更容易与数字分开。假设你有一个代表 Long 的“L”:
long x = 10000L
Run Code Online (Sandbox Code Playgroud)
比
long x = 10000l
Run Code Online (Sandbox Code Playgroud)
“l”很容易被误认为是“1”。
在您的情况下,您应该更喜欢“d”而不是“D”。
来自Java 教程:
浮点文字
如果浮点文字以字母 F 或 f 结尾,则它属于 float 类型;否则它的类型是 double 并且可以选择以字母 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;
Run Code Online (Sandbox Code Playgroud)
这告诉你:
“什么更好”类型的问题在 StackOverflow 上是题外话,因为它们不能有正确或不正确的答案,只有意见。
但是,如果您要求约定,我倾向于遵循我在上面找到的内容 - 省略后缀。