Het volgende codevoorbeeld drukt 1.5
af.
float a = 3;
float b = 2;
a /= b;
System.out.println(a);
Ik begrijp niet wat de operator /=
doet. Wat moet het voorstellen?
Antwoord 1, autoriteit 100%
Het is een combinatie van deling-plus-toewijzingsoperator.
a /= b;
betekent a
delen door b
en het resultaat in a
plaatsen.
Er zijn vergelijkbare operatoren voor optellen, aftrekken en vermenigvuldigen: +=
, -=
en *=
.
%=
zal modulus doen.
>>=
en <<=
zullen bitverschuiving uitvoeren.
Antwoord 2, autoriteit 27%
Het is een afkorting voor x = x / y (x /= y)
. Wat het doet, is dat het de toe te wijzen variabele aan de linkerkant ervan verdeelt en aan de rechterkant opslaat. U kunt altijd wijzigen:
x = x / y
naar
x /= y
Je kunt dit doen met de meeste andere operators zoals * / +
en -
. Ik ben echter niet zeker van bitsgewijze operators.
Antwoord 3, autoriteit 7%
a/=b;houdt in dat awordt gedeeld door ben het resultaat wordt omgezet in a
Antwoord 4, autoriteit 7%
A/=B betekent hetzelfde als A=(A/B)
Java (kopiërend van C) heeft een hele reeks operatoren X op= Y, wat betekent X=X opY, waarbij opeen van de volgende is: + – * / % & | ^
Antwoord 5, autoriteit 7%
x/=y
het is hetzelfde als X=X/Y
.
U kunt ook hetzelfde proberen voor deze operators + - * %
Antwoord 6
Zoals de meeste mensen hier al hebben gezegd, wordt x/=y
gebruikt als een verkorte vorm van x=x\y
en hetzelfde werkt voor andere operators zoals +=
, -=
, *=
, %=
. Er zijn nog meer sneltoetsen voor + en – waarbij x++
en x--
staan voor x=x+1
en x=x-1
respectievelijk.
Eén ding dat niet is vermeld, is dat als dit wordt gebruikt in een functieaanroep of voorwaardelijke test, de oorspronkelijke waarde wordt gebruikt en vervolgens wordt vervangen, zodat u de iterator een tijdje kunt herhalen in de aanroep die die iterator gebruikt, of schrijf een echte mod-functie met behulp van de rest-operator veel beknopter:
public int mod(int a, int b){
return ((a%=b)>=0?a:a+b);
}
wat een veel kortere manier van schrijven is:
public int mod(int a, int b){
a = a % b
if (a>=0){
return a;
}
return a+b;
}
Antwoord 7
Je zou kunnen zeggen a = a / b
OF (kortweg) zeggena /= b