Operador de atribuição
Atribuir um valor a uma variável parece bastante direto; você simplesmente atribui o material no lado direito do ‘=’ à variável à esquerda. Abaixo, a instrução 1 que atribui o valor 10 à variável x e a instrução 2 está criando um objeto String chamado name e atribuindo o valor “Abel” a ele.
Instrução 1: x =10;
Instrução 2: String name = new String (“Abel”);
A atribuição pode ser de vários tipos. Vamos discutir cada um em detalhes.
Atribuição Primitiva
O sinal de igual (=) é usado para atribuir um valor a uma variável. Podemos atribuir uma variável primitiva usando um literal ou o resultado de uma expressão.
int x = 7; // atribuição literal
int y = x + 2; // atribuição com uma expressão
int z = x * y; // atribuição com uma expressão com literal
Casting de tipos primitivos (Primitive Casting)
A conversão permite converter valores primitivos de um tipo para outro. Precisamos fornecer conversão quando estamos tentando atribuir primitiva de maior precisão a primitiva de menor precisão, por exemplo. Se tentarmos atribuir variável int (que está no intervalo da variável de bytes) à variável de bytes, o compilador lançará uma exceção chamada "possível perda de precisão ". O IDE Eclipse irá sugerir a solução, bem como mostrado abaixo. Para evitar esse problema, devemos usar conversão de tipo que instruirá o compilador para a conversão de tipo.
byte v = (byte) a;

Nos casos em que tentamos atribuir variáveis de contêiner menores a variáveis de contêineres maiores, não precisamos de conversão explícita. O compilador cuidará dessas conversões de tipo. Por exemplo, podemos atribuir variável de bytes ou variável curta a um int sem nenhuma conversão explícita.

Atribuindo literais muito grandes para uma variável
Quando tentamos atribuir um valor de variável muito grande (ou fora do intervalo) para uma variável primitiva, o compilador lançará a exceção “possível perda de precisão” se tentarmos fornecer conversão explícita, em seguida, o compilador o aceitará, mas diminuiu o valor usando o método de complemento de dois. Vamos dar um exemplo do byte que possui espaço de armazenamento de 8 bits e intervalo -128 a 127. No programa abaixo, estamos tentando atribuir 129 valor literal ao tipo primitivo de byte, que está fora do intervalo de bytes, para que o compilador o converta em -127 usando o método de complemento de dois.

Resultado: