Operador de atribuição
Tags: java
Published: 2024-07-02 20:47:57

- O operador de atribuição é o sinal de igual simples, =.

- Funciona de maneira similar em Java e outras linguagens de programação.
Forma geral: var = expressão;

- O tipo de var deve ser compatível com o tipo de expressão.

- Permite a criação de uma cadeia de atribuições.
Exemplo: 
int x, y, z; 
x = y = z = 100;  -> atribui x, y, e z com 100.

O operador = fornece o valor da expressão do lado direito.
O valor de z = 100 é 100, que é atribuído a y e, em seguida, a x.
A cadeia de atribuição facilita configurar várias variáveis com um valor comum.

**Atribuições abreviadas**

- Java fornece operadores de atribuição abreviada para simplificar certas instruções de atribuição.
Exemplo: 
x = x + 10; 
pode ser escrito como x += 10;.
O operador += atribui a x o valor de x mais 10.

Outro exemplo: 
x = x - 100; 
é igual a x -= 100;.
As duas instruções atribuem a x o valor de x menos 100.

- A atribuição abreviada funciona para todos os operadores binários em Java (operações entre dois operandos).

- Forma geral da atribuição abreviada: 
var op = expressão;

Operadores aritméticos e lógicos de atribuição abreviada:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ricdmo606ucdko2xepgg.png)

- Operadores de atribuição compostos combinam uma operação com uma atribuição.

- São formalmente chamados de operadores de atribuição compostos.

- Vantagens: mais compactos do que seus equivalentes não abreviados.

Exemplos:
1. += (Adição e Atribuição): adiciona o valor do lado direito ao valor do lado esquerdo e atribui o resultado à variável do lado esquerdo.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hpg14g4mf8kjom4772ml.png)

2. -= (Subtração e Atribuição): subtrai o valor do lado direito do valor do lado esquerdo e atribui o resultado à variável do lado esquerdo.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/68oiwlnlf5ozk4cwteaj.png)

3. *= (Multiplicação e Atribuição): multiplica o valor do lado esquerdo pelo valor do lado direito e atribui o resultado à variável do lado esquerdo.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1eq1pxej08gcsedptrr4.png)

4. /= (Divisão e Atribuição): divide o valor do lado esquerdo pelo valor do lado direito e atribui o resultado à variável do lado esquerdo.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0xlivrcmq3or5z5nmghm.png)

5. %= (Módulo e Atribuição): calcula o resto da divisão do valor do lado esquerdo pelo valor do lado direito e atribui o resultado à variável do lado esquerdo.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/csi7hxtr5l0d5uvl7o47.png)

6. &= (AND e Atribuição): realiza a operação lógica AND bit a bit entre o valor do lado esquerdo e o valor do lado direito, e atribui o resultado à variável do lado esquerdo.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l723u49gps597srsdu06.png)

7. |= (OR e Atribuição): realiza a operação lógica OR bit a bit entre o valor do lado esquerdo e o valor do lado direito, e atribui o resultado à variável do lado esquerdo.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6bfc8rekjmbkt6n33k6c.png)

8. ^= (XOR e Atribuição): realiza a operação lógica XOR bit a bit entre o valor do lado esquerdo e o valor do lado direito, e atribui o resultado à variável do lado esquerdo.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qhxwrj12nz5i4d7eht4o.png)