为什么 Java 会编译这个等式:78 / 10 * 10 + 10 - 78 等于 2?

Why does Java compile this equation: 78 / 10 * 10 + 10 - 78 equal to 2?

我一直在努力理解 java 运算符优先级,但我无法理解别人给我的这个等式。通过自己添加括号,我得到 (((78 / 10) * 10) + 10) - 78 但这不应该等于 2。有人可以向我解释一下吗?谢谢

78 / 10 = 7
7 * 10 = 70
70 + 10 = 80
80 - 78 = 2

记住一个 int /int 将是一个 int

float/int 将是一个浮点数,因此您可以执行以下操作:

(float)78 / 10 * 10 + 10 - 78 or 78.0 / 10 * 10 + 10 - 78

这是因为在整数数学中 78 / 10 是 7,而不是 7.8

然后:

 7 * 10 = 70
   + 10 = 80
   - 78 =  2