【发布时间】:2019-08-15 16:55:32
【问题描述】:
int a[] = {120, 50, 016};
for(int P : a)
System.out.print(P+" ");
我希望上面代码的输出是 120 50 16,但实际输出是 120 50 14。
【问题讨论】:
-
016是基数 8 中的 14 -
前导 0 代表八进制数字系统:在此你的 016 = 1 * (8^1) + 6 * (8^0) = 14
-
查看 Java 语言规范 3.10. Literals - 更多奇怪(很高兴知道)事实,例如文字数字中的下划线
标签: java