Vídeo: Statistical Programming with R by Connor Harris 2024
Os operadores unários mais e menos permitem que você altere o sinal de um operando em Java. Observe que o operador atual usado para essas operações é o mesmo que os operadores de adição e subtração binárias. O compilador descobre se você quer usar a versão binária ou unária desses operadores examinando a expressão.
O operador unary menos não faz necessariamente que um operando tenha um valor negativo. Em vez disso, ele muda qualquer sinal com o qual o operando deve começar. Assim, se o operando começa com um valor positivo, o operador unário menos o muda para negativo. Mas se o operando começar com um valor negativo, o operador unary menos o torna positivo. Os exemplos a seguir ilustram este ponto:
int a = 5; // a é 5
int b = -a; // b é -5
int c = -b; // c é +5
Curiosamente, o operador unary plus na verdade não faz nada. Por exemplo:
int a = -5; // a é -5
int b = + a; // b é -5
a = 5; // a é agora 5
int c = + a; // c é 5
Observe que se
a
começar positivo,
+ a
também é positivo. Mas se
a
começar negativo,
+ a
ainda é negativo. Assim, o operador unary plus não tem efeito. Acho que Java fornece o operador unary plus de uma necessidade de equilíbrio.
Você também pode usar esses operadores com expressões mais complexas, como esta:
int a = 3, b = 4, c = 5;
int d = a * - (b + c); // d é -27
Aqui,
b
é adicionado a
c
, dando um resultado de
9
. Em seguida, o operador unary minus é aplicado, dando um resultado de
-9
. Finalmente,
-9
é multiplicado por
a
, dando um resultado de
-27
.