java中的运算符优先级 - 获取错误的输出

时间:2015-10-13 21:47:23

标签: java operator-keyword operator-precedence

这是我目前的代码

public class Test1 
{
    public static void main(String[] args) {
        int result = 13 - 3 * 6 / 4 % 3;
        System.out.print(result);
    }
}

我输入12的输出,但不是假设是-13?

1 个答案:

答案 0 :(得分:2)

如果我们添加澄清括号,则表达式变为:

13 - ((3 * 6 / 4) % 3);

由于整数除法,除法的结果变为4。 然后模数结果为1。 所以最终结果是12。