八进制值 - 在JDK8中?

时间:2014-09-05 21:25:59

标签: java java-8 literals octal

此Q用于验证。

当文字值以0:

开头时,JDK 8似乎正在处理八进制
  System.out.print(011);

打印9,

  System.out.print(08);

给出检查错误。

这不在docs - 还有(?)

这是jdk8中的新功能吗?如果是这样的话 - 在八进制的情况下是否有一些细节,除了那些在HEX和二进制文件中?

TIA

// =============================

编辑:

Q是关于JDK处理八进制 - 从什么时候开始。 dosc仅显示HEX&二进制的。

当第二个代码行显示它的八进制JDK在值前面加上0时。

1 个答案:

答案 0 :(得分:9)

它永远存在于Java中......你想要的JLS位是section 3.10.1

  

八进制数字由ASCII数字0后跟一个或多个以下划线散布的ASCII数字0到7组成,并且可以表示正整数,零或负整数。

(它位于first edition of the JLS too。)

你不应该期望Java教程在语言的每个方面都是完整的 - 这对于目标受众来说是压倒性的。对于这样的方面,规范是要查看的文档。