Java中的运算符优先级,我无法找到结果

时间:2015-07-11 20:22:38

标签: java

有人可以向我解释为什么结果是30?

System.out.println(30 - 12 / (2*5) +1);

1 个答案:

答案 0 :(得分:3)

这很简单arithmetic order of operations30 - 12 / (2 * 5) + 1因此而崩溃:

  • 首先处理括号:2 * 5变为10。您现在拥有30 - 12 / 10 + 1
  • 除法优先于所有其他现有运算符,因此您将12/10 as integers除以,因此您将获得1作为商。您现在拥有30 - 1 + 1
  • 然后从1减去30,然后再加1,得到30。