public class Example {
public static void main(String args[]) {
int a = 0153;
int b=a;
System.out.println(""+b);
}
}
有人可以解释为什么打印107
而不是153
?
答案 0 :(得分:2)
107的八分之一是0153
在Java中,您可以通过添加如下所示的前导零来创建八进制文字:int a = 0755;小心!指定八进制文字
是很常见的答案 1 :(得分:0)
因为0
开头的数字被认为是Java中的八进制值。八进制中的0153
是十进制的107
。
答案 2 :(得分:0)
你写成八进制,打印默认为十进制。
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)