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

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"左右.

有什么建议或想法吗?

tak*_*eek 8

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

在Java语言规范中提到,captial L是首选long值,因为它更容易阅读,但它并没有说明F/F或d/d任何东西.


PKl*_*mpp 5

您通常使用与数字分隔最好的字母。我有一段时间不知道这背后的原因,但有人告诉我大写字母更容易与数字分开。假设你有一个代表 Long 的“L”:

long x = 10000L
Run Code Online (Sandbox Code Playgroud)

比

long x = 10000l
Run Code Online (Sandbox Code Playgroud)

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

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


chi*_*oro 5

来自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)

这告诉你:

  • D 和 d 具有相同的含义 - 正如您所观察到的
  • “按照惯例 [D 或 d 被] 省略”因为它们是默认值

“什么更好”类型的问题在 StackOverflow 上是题外话,因为它们不能有正确或不正确的答案,只有意见。

但是,如果您要求约定,我倾向于遵循我在上面找到的内容 - 省略后缀。