这段代码如何打印" -511"作为控制台上的输出?
class Test
{
public static void main(String[] args) {
int i = -0777;
System.out.printf("%d",i);
}
}
是否与Java存储负数的方式有关?
答案 0 :(得分:8)
前缀为0
的整数是octal个数字。要使用十进制数,请删除0
前缀:
int i = -777;
答案 1 :(得分:4)
以0
开头的数字被Java视为八进制。 -077
相当于-63
,这是我运行程序时获得的。
答案 2 :(得分:2)
当java代码中的数字以0开头时,它将其解释为八进制格式