Video: Week 3, continued 2024
te bekijken. Met de operator unaire plus en min kunt u het teken van een operand in Java wijzigen. Merk op dat de feitelijke operator die voor deze bewerkingen wordt gebruikt dezelfde is als de binaire optel- en aftrekoperators. De compiler zoekt uit of u de binaire of de unaire versie van deze operators wilt gebruiken door de expressie te bekijken.
De operator unaire minus maakt een operand niet noodzakelijk een negatieve waarde. In plaats daarvan verandert het elk teken waarmee de operand moet beginnen. Dus als de operand begint met een positieve waarde, verandert de unaire min-operator deze in negatief. Maar als de operand begint met een negatieve waarde, maakt de unaire min-operator het positief. De volgende voorbeelden illustreren dit punt:
int a = 5; // a is 5
int b = -a; // b is -5
int c = -b; // c is +5
Interessant genoeg doet de operator unary plus eigenlijk niets. Bijvoorbeeld:
int a = -5; // a is -5
int b = + a; // b is -5
a = 5; // a is nu 5
int c = + a; // c is 5
merk op dat als
a
positief begint,
+ a
ook positief is. Maar als
a
negatief begint, is
+ a
nog steeds negatief. De operator unary plus heeft dus geen effect. Ik vermoed dat Java de unaire plusspecialist voorziet van een behoefte aan balans.
Je kunt deze operatoren ook gebruiken met complexere expressies, zoals deze:
int a = 3, b = 4, c = 5;
int d = a * - (b + c); // d is -27
Hier wordt
b
toegevoegd aan
c
, wat resulteert in
9
. Vervolgens wordt de unaire mintoperator toegepast, resulterend in
-9
. Ten slotte wordt
-9
vermenigvuldigd met
a
, wat resulteert in
-27
.