我只想尝试一些整数并将值“0013”分配给整数a。当我将值打印到输出控制台时,我得到“11”。是什么导致这个?为什么我没有得到13?
int b = 0013;
System.out.println(b);
答案 0 :(得分:5)
领先的零均值八进制。就像前导0x均值十六进制
一样答案 1 :(得分:2)
Java 意外地自动将您的号码作为八进制数。与十六进制表示法不同,数字前面带有0x
,八进制表示单个零。编译器可能已经将您的编号转换为八进制格式。
尝试使用13
代替0013