我总是看到这个奇怪的符号§,但我从来不理解wtf的意思。

,E1,T,op在这里也是什么意思?

发帖:Why don't Java's +=, -=, *=, /= compound assignment operators require casting?
纠正我:
T=数据类型
op =算子
发布于 2020-04-14 18:17:42
"§“(U+00a7节符号),顾名思义,就是”节“的意思。它用于引用JLS中的特定部分。
E1 op= E2是一种“复合赋值表达式”。我肯定你见过复合赋值表达式。它们是这样的:
myCoolVariable += 5
foo *= bar
timeLeft -= 1在最后一个例子中,timeLeft是E1,-是op,1是E2。E1和E2只是表达。正如规范所述,T是E1的具体类型。这里的op指的是=前面的运算符。所以大部分情况下,你的理解是正确的。
规范的意思是,像timeLeft -= 1这样的表达式(假设timeLeft是int)相当于:
timeLeft = (int)((timeLeft) - (1))但timeLeft只计算一次。
https://stackoverflow.com/questions/61214346
复制相似问题