为什么此代码的输出不同?

时间:2019-08-15 08:52:40

标签: java

int a[] = {120, 50, 016};

for(int P : a)
    System.out.print(P+" ");

我希望以上代码的输出为120 50 16,但实际输出为120 50 14。

2 个答案:

答案 0 :(得分:0)

这是因为'016'的行为和其八进制值14一样。

答案 1 :(得分:0)

它是八进制基数8,因为您前面有一个0。

请参见以下链接:https://en.wikipedia.org/wiki/Octal