gpt4 book ai didi

java - 为什么java中的自增运算符不改变变量的值?

转载 作者:行者123 更新时间:2023-12-01 06:35:16 25 4
gpt4 key购买 nike

我最近写了这样的代码片段

public class TestIncrement {

public static void main(String[] args){
double a = 12.4;
double b = 5.6;
a -=b -=b -= b -= b -= b -= b;
System.out.println(a);
a-=b;
System.out.println(a);
}
}

输出是:

12.4
12.4

为什么增量运算符不起作用?

最佳答案

-= 和所有其他赋值运算符都是右结合的。这一行:

a -=b -=b -= b -= b -= b -= b;

并不意味着“将a减少b的值6倍”。意思和这个是一样的:

a -= (b -= (b -= (b -= (b -= (b -= b)))));

这意味着“将b减少b的值,然后将b减少b的新值>,然后再执行 3 次,然后将 a 减去 b 的最终值”。第一个 -= 之后的 b 为 0,因此语句的其余部分不执行任何操作,

a-=b;

线。

关于java - 为什么java中的自增运算符不改变变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18689717/

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