Video: Week 3, continued 2025
De unære plus- og minusoperatører giver dig mulighed for at ændre tegn på en operand i Java. Bemærk, at den aktuelle operatør, der anvendes til disse operationer, er den samme som de binære additions- og subtraktionsoperatører. Kompilatoren angiver, om du mener at bruge den binære eller den unaire version af disse operatører ved at undersøge udtrykket.
Den unary minus operatør gør ikke nødvendigvis en operand har en negativ værdi. I stedet ændrer det uanset hvilket tegn operanden skal begynde med. Således, hvis operanden starter med en positiv værdi, ændrer den unære minusoperatør den til negativ. Men hvis operanden starter med en negativ værdi, gør den unary minus operator det positivt. Følgende eksempler illustrerer dette punkt:
int a = 5; // a er 5
int b = -a; // b er -5
int c = -b; // c er +5
Interessant nok gør den unary plus operatør faktisk ikke noget. For eksempel:
int a = -5; // a er -5
int b = + a; // b er -5
a = 5; // a er nu 5
int c = + a; // c er 5
Bemærk, at hvis
a
starter positivt, er
+ a
også positiv. Men hvis
a
starter negativt, er
+ a
stadig negativ. Den unary plus operator har således ingen effekt. Jeg tror, at Java giver unary plus-operatøren et behov for balance.
Du kan også bruge disse operatører med mere komplekse udtryk, som dette:
int a = 3, b = 4, c = 5;
int d = a * - (b + c); // d er -27
Her tilføjes
b
til
c
, hvilket giver et resultat af
9
. Derefter påføres unary minus operatoren, hvilket giver et resultat af
-9
. Endelig multipliceres
-9
med
a
, hvilket giver et resultat af
-27
.