为什么Java中的012%10 = 0?

时间:2015-06-12 14:25:34

标签: java

我正在尝试关注程序。

int var = 012;
int result = var % 10;

输出:

result = 0

我无法理解为什么java无法将012视为12。

1 个答案:

答案 0 :(得分:12)

在Java中,以0开头的整数文字被解释为octal个数字。

所以,012是数字1 x 8 + 2 = 10(十进制),而不是12(十进制)。

012 % 10 == 10 % 10 == 0