gpt4 book ai didi

java - 关于简单算术运算的问题

转载 作者:行者123 更新时间:2023-12-01 17:47:20 24 4
gpt4 key购买 nike

请看一下这段代码:

    int a = 5, b = 7;
System.out.println(++a + b-- - a-- * --b);

它输出-17。但我不明白为什么。我认为输出应该是-19。因为首先我们进行乘法 5*6 = 30,然后 5 + 6 = 11,最后 11-30 = -19。有人能告诉我为什么输出是-17吗?

最佳答案

这里是使用 Java 中操作顺序的解释:

int a = 5, b = 7;

++a + b-- - a-- * --b
6 + 7 - (6 * 5)
13 - 30
-17

第一项的计算结果为 6,因为 ++a 表示先递增 a 然后再计算。另一方面,b-- 的计算结果为 7,因为后缀 -- 出现在之后 b. 。对于乘法中涉及的两项,由于 Java 中的运算规则的顺序,我们将它们放在括号中。同样的逻辑也适用于此,我们得到的产品为 30。

关于java - 关于简单算术运算的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53645195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com