class test8{
static public void main(String args[]){
int d = 9;
d += d = 3;
System.out.println (d);
}
}
我的理解是括号内的表达式首先评估设置d
到3
。
所以,上面的表达式相当于
d = 3
d+= 3
应该6
java如何将其评估为12
。
答案 0 :(得分:1)
int d = 9;
d += d = 3;
首先d = 9
。然后是d += d = 3
,这意味着:
Let `d` equal to `d` plus the result of `d=3`.
^ ^
9 3
因此,d
等于9
加3
12
。
答案 1 :(得分:0)
d首先计算为9,当你将其更改为3时,快捷方式添加运算符会添加新值d,即3的旧值,即9
答案 2 :(得分:0)
与其他语言一样,Java中的Paranthesis具有非常重要的作用,这就是为什么因为不注意而出现问题的原因
您可能会看到以下代码行:
d += d = 3;
如:
d = d + 3
第一个d来自+ =运算符,而3来自d = 3
答案 3 :(得分:0)
你的表达式是d+=(d=3)
下一步评估
+=
表达式(这是d = d + (d=3)
d + (d=3)
表达式以评估它首先评估左侧d
,其值为9,然后右侧d=3
9 + 3
5分配d = 12
,删除之前的d
值