gpt4 book ai didi

java - 增量运算符在 Java 中的行为如何?

转载 作者:搜寻专家 更新时间:2023-10-31 08:07:42 25 4
gpt4 key购买 nike

为什么结果是 8 而不是 9?

按照我的逻辑:

  1. ++x 给出 4
  2. 4 + 4 得到 8,所以 x = 8
  3. 但是在该语句之后 x 应该增加,因为 x++,所以它应该是 9。

我的逻辑有什么问题?

int x = 3;
x = x++ + ++x;
System.out.println(x); // Result: 8

最佳答案

你应该注意到表达式是从左到右求值的:

第一个 x++ 递增 x 但返回之前的值 3。

然后 ++x 递增 x 并返回新值 5(递增两次后)。

x = x++ + ++x;
3 + 5 = 8

但是,即使您将表达式更改为

x = ++x + x++;

你仍然会得到 8

x = ++x + x++
4 + 4 = 8

这一次,一旦将加法的结果赋值给 x,x 的第二次增量 (x++) 就会被覆盖。

关于java - 增量运算符在 Java 中的行为如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33494220/

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