此Q用于验证。
当文字值以0:
开头时,JDK 8似乎正在处理八进制 System.out.print(011);
打印9,
System.out.print(08);
给出检查错误。
这不在docs - 还有(?)
这是jdk8中的新功能吗?如果是这样的话 - 在八进制的情况下是否有一些细节,除了那些在HEX和二进制文件中?
TIA
// =============================
编辑:
Q是关于JDK处理八进制 - 从什么时候开始。 dosc仅显示HEX&二进制的。
当第二个代码行显示它的八进制JDK在值前面加上0时。
答案 0 :(得分:9)
它永远存在于Java中......你想要的JLS位是section 3.10.1:
八进制数字由ASCII数字0后跟一个或多个以下划线散布的ASCII数字0到7组成,并且可以表示正整数,零或负整数。
(它位于first edition of the JLS too。)
你不应该期望Java教程在语言的每个方面都是完整的 - 这对于目标受众来说是压倒性的。对于这样的方面,规范是要查看的文档。