Uso da variavel short

Fala pessoal, sou novo no java e preciso de ajuda,

declarei as seguintes variáveis

byte salario = 100;
byte vr = 50;

e tentei a seguinte operação :

short hollerit = vr + salario;
System.out.println("Hollerit = " + hollerit );

Só que desse jeito ele dá erro, fala q tenho q trocar o short pelo int e ai funciona, mas eu queria saber pq não esta funcionando no short, pois pela lógica deveria funcionar.

Bom dia…

Ja ouviu em falar sobre: “Conversao”…

toda operação de bytes, a resposta e armazenada em um int, isso e feito pela JVM…

Leia sobre conversão de tipos primitivos e objetos, isso vai esclarecer sua duvida…

byte a = 12;
byte b = 12;

int c = 24;

byte x =2;
byte y =3;

byte z = (byte )x+y;

Vc tem q fazer conversão explicita para funcionar o calculo .

O resultado da operação retorna um int, e no caso você tem um short recebendo um int (menor recebendo maior). Portanto, o CAST (short) explícito é necessário.

Irei ler sim, obrigado pela ajuda !!!

Se esta satisfeito com as sugestões .

Depois que seu problema tiver resolvido, vá no primeiro post, editar o Título adicionando a tag [RESOLVIDO] no final do Título .