0

我总是看到这个奇怪的符号§但从来不明白 wtf 的意思 在此处输入图像描述


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

来自帖子:为什么 Java 的 +=、-=、*=、/= 复合赋值运算符不需要强制转换?

纠正我:

T = 数据类型

op = 运算符

4

1 回答 1

1

“§”(U+00a7 SECTION SIGN),正如其 unicode 名称所暗示的那样,仅表示“部分”。它用于引用 JLS 中的特定部分。

E1 op= E2是“复合赋值表达式”的一种形式。我相信您已经看过复合赋值表达式。它们是这样的:

myCoolVariable += 5
foo *= bar
timeLeft -= 1

在最后一个例子中,timeLeftE1-op1E2E1并且E2只是表达式。T,正如规范所说,具体E1. op这里指的是 . 之前的运算符=。所以大多数情况下,你的理解是正确的。

规范是说诸如timeLeft -= 1(假设timeLeft是 an int) 之类的表达式等效于:

timeLeft = (int)((timeLeft) - (1))

除了timeLeft只评估一次。

于 2020-04-14T18:17:42.167 回答