当一个数字后跟一个字母时它会怎么做?

时间:2014-05-29 21:12:38

标签: java language-agnostic primitive-types

一个号码后面的字母有什么意义?例如,primitive types in Java的波纹管表格在long float和double的默认值之后有字母。

values of primitive data types in Java

我测试过,据我所知,他们从未有所作为。我也在C和C ++中看到过这样的事情,例如NULL宏有时如何扩展到0L

1 个答案:

答案 0 :(得分:1)

确实有所作为。这取决于你的价值观。

首先,除非您指定int(或L)后缀,否则Java将treat all integral declarations作为l

这意味着,虽然此声明无效:

System.out.println(5_000_000_000_000); // too large for an int

...此声明

System.out.println(5_000_000_000_000L);

除非您指定doublef,否则Java也会treat all floating-point declarations作为F。您也可以指定dD,但这是一个可选的隐含声明,表明您的文字类型为double

另一个例子:虽然这个声明对于double有效的

System.out.println(1.17e200);

......这个不是:

float f = 1.17e200f; // too large

其他语言(C,C ++)的行为将特定于您正在使用的标准,但它不是完全您正在考虑的内容 - 宏只是一个预编译器文本替换,因此无论编译器看到NULL,它都会用0替换它。