5

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

是否有根据 double 和 float 声明普遍接受的 java 编码约定?

这些指南推荐什么语法?

      Double d = 1d;
      Double d = 1D;
      Double d = 1.;
      Double d = 1.0;
      Double d = 1.0d;
      Double d = 1.0D;

Float 和 Long 以及它们的原语也是如此。

      Long l = 1l;
      Long l = 1L;

都编译一样,但是读这几行代码的时候,清晰度还是有区别的。大写的 d 似乎更容易被读错——>“D”可能被读作“0”左右。

4

3 回答 3

11

这实际上只是个人喜好,我相信小写更常见。这就像压痕一样,选择一些东西并坚持下去。

Java 语言规范提到 captial是值的L首选,long因为它更容易阅读,但它没有说明 f/F 或 d/D。

于 2014-05-09T06:32:58.370 回答
5

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

long x = 10000L

long x = 10000l

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

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

于 2014-05-09T06:32:22.610 回答
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;

这告诉你:

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

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

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

于 2014-05-09T06:35:15.640 回答