具有两个以上数字的乘法复合赋值运算符

multiplication compound assignment operator with more than two numbers

我现在正在做编码练习,遇到了一个我不知道该怎么做的任务,我在互联网上也找不到任何解决方案=(

For which assignment does the abbreviation stand: a *= 3 / 2?

А) a = b + 3 / 2
B) a = a * 3 / 2
C) a + b - 3 / 2
D) a * b / 3 / 2
E) a = a * (3 / 2)

我知道 =* 和所有类似的复合运算符如何处理单个数字,但我不知道它如何处理像 3 / 2 这样的复杂表达式。IntelliJ IDEA 还 运行s 到一个尝试 运行 "a *= 3 / 2"

时出错

请帮帮我 =)

任何编程语言中运算符赋值的语义如下:

左值 *= 右值 => 左值 = 左值 * (右值)

其中右值可以是任何表达式,因此: a *= 3 / 2 => a = a * (3/2) -> 答案是 E

在此处阅读更多相关信息:https://www.cs.umd.edu/~clin/MoreJava/Intro/assign-compound.html