Estou em dúvida, pois esse código não compila
byte b1 = 5;
byte b2 = 3;
byte b3 = b1 + b2;
mas esse código compila
char c = 65;
char c2 = 68 - 65;
System.out.println(c + c2);
Qual é a diferença?
Estou em dúvida, pois esse código não compila
byte b1 = 5;
byte b2 = 3;
byte b3 = b1 + b2;
mas esse código compila
char c = 65;
char c2 = 68 - 65;
System.out.println(c + c2);
Qual é a diferença?
Oi Delliany, tudo bem?
Por padrão, o resultado de uma operação entre dois primitivos do tipo byte em Java é convertido para int. Um int não cabe dentro de um byte, é por isso que não compila =)
https://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.6.2
Abraço!