=前面的*是什么意思?

时间:2018-11-30 23:27:49

标签: java logic assign

大家好,我有一个非常简单的问题,我只是不明白。我已经尝试使用Google搜索,但是没有找到明确的答案。

以下语句后的x是多少?

int x = 2;
int y = 1;
x *= y + 1;

我知道答案是4,但我不明白为什么是4。只需要清楚地了解x *的含义即可。谢谢!

3 个答案:

答案 0 :(得分:2)

我认为这是你要问的那一行

x *= y + 1;

这是

的简写
x = x * (y + 1);

当第一个变量与左侧的变量(将被分配)相同时,它也可与其他运算符(如-和+)一起使用。

答案 1 :(得分:0)

x*=符号表示x=x*等于等号之后的结果。

x*= y+1将变为x = x * (y+1)。先计算等于之后的表达式,然后乘以x。结果将转换为赋值变量(x)的类型。

答案 2 :(得分:0)

当然x是4,如果您不理解最后一条语句,可以这样阅读

x = x * y + 2