Vídeo: Curso de Java - Aula 25 - Operadores de Atribuição - eXcript 2024
A operador de atribuição composta é um operador que executa um cálculo e uma tarefa ao mesmo tempo. Todas as operadoras aritméticas binárias de Java (ou seja, as que funcionam em dois operandos) possuem operadores equivalentes de atribuição composta.
Operador | Descrição |
+ = | Adição e atribuição |
- = | Subtração e atribuição |
* = | Multiplicação e atribuição < / = |
Divisão e atribuição | % = |
Resto e atribuição |
|
a + = 10;
é equivalente a
a = a + 10;
Além disso, a indicação
z * = 2;
é equivalente a
z = z * 2;
Para evitar confusões, use expressões de atribuição composta por si mesmas, não em combinação com outras expressões. Considere estas afirmações:
int a = 2;
int b = 3;
É
a
definido para
7
ou
8
?
Em outras palavras, é a terceira declaração equivalente a
a = a * b + 1; // Isso daria 7 como resultado
ou
a = a * (b + 1); // Isso daria 8 como resultado
À primeira vista, você pode esperar que a resposta seja
7
, porque a multiplicação tem uma precedência maior do que a adição. Mas a atribuição tem a menor prioridade de todos, e a multiplicação aqui é realizada como parte da tarefa. Como resultado, a adição é realizada antes da multiplicação - e a resposta é
8
. (Gotcha!)