public class Example {
public static void main(String args[]) {
int a = 0153;
int b=a;
System.out.println(""+b);
}
}
有人可以解释为什么它会打印107
而不是打印153
吗?
107的八进制是0153
在 Java 中,您可以通过添加前导零来创建八进制文字,如下所示: int a = 0755; 当心!指定八进制文字是很常见的
因为以 开头的数字0
在 Java 中被视为八进制值。0153
八进制是107
十进制。
你写为八进制,打印默认为十进制。
Input Prints (decimal)
Decimal 153 153
^
No leading zero (digits 0-9)
Octal 0153 107
^
leading zero (digits 0-7)
Hex 0x153 339
^^
leading 0x (digits 0-F)