印83
System.out.println(0123)
但是,此打印123
System.out.println(123)
为什么这样工作?
最佳答案
前导零表示使用octal (a base-8 number)表示文字。
可以通过执行(1 * 8 * 8) + (2 * 8) + (3)
转换0123,该值等于十进制的83。
由于某些原因,八进制浮点数不可用。
如果您不希望文字以八进制表示,则不要使用前导零。
还有一个0x
前缀,表示文字以十六进制(基数16)表示。
关于java - 为什么带有前导零的整数文字会被奇怪地解释?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60010144/