betekenis van * = in java

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

Bijvoorbeeld: density *= invertedRatio;

Ik ben niet bekend met de Star-equals-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 154%

In Java wordt de *=een vermenigvuldigingscompound toewijzingsoperator 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

enzovoort.


Antwoord 3, Autoriteit 62%

Het is een shorthand-toewijzingsoperator. Het neemt de volgende vorm aan:

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 informatie:

Hoe Toewijzingsbeheerders in Java

gebruiken


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