为什么在 Java 中打印 0100 会打印 64?

Why does printing 0100 print 64 in Java?

为什么

System.out.println(0100);

向控制台打印 64?

它不像它转换为二进制。

以 0 开头的整数按 8 进制解释(因为以 0x 开头为 16 进制)。因此 0100 在基数 8 中是 100,即 1 * 8^2 = 64.