Java中* =的含义

时间:2011-12-19 15:23:58

标签: java notation

我在Android源代码中看到了一个不熟悉的符号:*=

例如:density *= invertedRatio;

我不熟悉星等号表示法。有人可以解释一下吗?

4 个答案:

答案 0 :(得分:20)

在Java中,*=称为乘法复合赋值运算符。

这是

的捷径
density = density * invertedRatio;

相同的缩写是可能的,例如为:

String x = "hello "; x += "world" // results in "hello world"
int y = 100; y -= 42; // results in y == 58

等等。

答案 1 :(得分:9)

density *= invertedRatio;density = density * invertedRatio;

的缩写版本

这种表示法来自C。

答案 2 :(得分:7)

这是一个速记赋值运算符。它采用以下形式:

variable op= expression;

的缩写形式
variable = variable op expression;

所以,

density *= invertedRatio;

相当于

density = density * invertedRatio;

有关详细信息,请参阅以下链接:

How to Use Assignment Operators in Java

答案 3 :(得分:3)

就像Da说的那样,它是density = density * invertedRatio;的缩写 - 它不是Android特有的,它是标准的Java。你会发现这个(和类似的运算符)在许多语言中都有类似C语法。