【问题标题】:How this sum is being calculated这个总和是如何计算的
【发布时间】:2015-10-26 15:14:00
【问题描述】:

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

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

还有什么是否定?

【问题讨论】:

    标签: arithmetic-expressions negation


    【解决方案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
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-16
        • 1970-01-01
        • 2016-09-13
        • 1970-01-01
        • 2018-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多