Betekenis van *= in Java

Ik zie een onbekende notatie in de Android-broncode: *=

Bijvoorbeeld: density *= invertedRatio;

Ik ben niet bekend met de ster-gelijk-notatie. Kan iemand het uitleggen?


Antwoord 1, autoriteit 100%

density *= invertedRatio;is een verkorte versie van density = density * invertedRatio;

Deze notatie komt van C.


Antwoord 2, autoriteit 96%

In Java wordt de *=een operator voor samengestelde vermenigvuldiging genoemd.

Het is een snelkoppeling voor

density = density * invertedRatio;

Dezelfde afkortingen zijn mogelijk, b.v. voor:

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

en ga zo maar door.


Antwoord 3, autoriteit 62%

Het is een verkorte toewijzingsoperator. Het heeft de volgende vorm:

variable op= expression;

is een korte vorm van

variable = variable op expression;

Dus,

density *= invertedRatio;

is gelijk aan

density = density * invertedRatio;

Zie de volgende link voor meer info:

Toewijzingsoperators gebruiken in Java


Antwoord 4, autoriteit 23%

Zoals Da al zei, het is een afkorting voor density = density * invertedRatio;– het is niets Android-specifiek, het is standaard Java. U vindt dit (en soortgelijke operators) in veel talen met een C-achtige syntaxis.

Other episodes