public static void main (String[] args) {
int a = 0010;
String num = Integer.toString(a);
System.out.println(num);
}
为什么打印8而不是0010?
答案 0 :(得分:3)
Java将以0
开头的整数解释为octal中表达的整数。八进制(基数8)中的10
是十进制的8(基数10)。在这种情况下,Integer.toString()
正在做正确的事情,因为a
的值确实是8。
答案 1 :(得分:1)
整数以二进制形式存储在内存中。有几种方法可以定义整数文字。 0010
是八进制,在基数为8时。toString
以10(十进制)为基数打印。