-1

我正在做java,但我无法理解它是如何计算这个总和的。5+3/2*7-8=4
怎么变成4了?

算术运算符在计算中的应用顺序如下: 1. 否定,- 2. 乘法和除法,*、/、% 3. 加法和减法、+、-

还有什么是否定?

4

2 回答 2

1

在java中,当你将两个整数相除时,你会得到一个整数。所以在你的等式中,3 / 2 = 1。变成 5 + (1 * 7) - 8 = 4

5 + 3 / 2 * 7 - 8 = 4
5 + 1 * 7 - 8 = 4
5 + 7 - 8 = 4
5 + -1 = 4
于 2015-10-26T15:17:31.623 回答
0

这就是我理解的方式: - 因为除法和乘法是最高优先级,它们将首先被处理,从左到右;所以 3/2 给出 1,正如@Brian Cain 指出的那样;然后我们将 1 乘以 7 -> 得到 7 - 到目前为止我们有 5 + 7 - 8,再次从左到右处理得到 4

我不是很喜欢 Java,但在我看来,否定就像一个与布尔类型相关的操作:这是一个接受 true 或 false 的类型,并且通过使用否定(!),您可以在这两者之间翻转值,但请加倍-核实

于 2015-10-26T15:21:41.370 回答