gpt4 book ai didi

java - 关于 Java 的前置和后置。没有生效?

转载 作者:行者123 更新时间:2023-12-02 04:55:49 25 4
gpt4 key购买 nike

int x = 12;     
int y = 15;
while (y >= 0)
{
x = x--;
y = --y;
}
System.out.print(x);

这会打印出 12,我猜 x 永远不会改变,因为它是在 post (x--) 生效之前存储的,但为什么 x-- 永远不会生效?

最佳答案

x-- 中的

-- 确实生效。但是,您看不到它,因为您将预减 x 的值直接分配回 x

以下是当您执行 x = x-- 时会发生的情况:

  • x 的值存储到临时空间(例如 tempX)
  • x中减去1
  • 新值被分配回x
  • 一旦右侧完成计算,tempX 就会被分配回 x

这会产生 x 未更改的整体效果。

y = --y 的效果有所不同,因为表达式 --y 的值与 y 的值相同减后,所以整体效果与--y相同。

关于java - 关于 Java 的前置和后置。没有生效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28785683/

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