Compila e roda normalmente:
byte c2 = 65 * 1;
Já esse não compila:
byte b1 = 5;
byte b2 = 3;
byte b3 = b1 + b2;
Por que isso corre?
Compila e roda normalmente:
byte c2 = 65 * 1;
Já esse não compila:
byte b1 = 5;
byte b2 = 3;
byte b3 = b1 + b2;
Por que isso corre?
Oi Erick,
Parte do código compila porque 65 é um valor que cabe num byte.. Você ta fazendo uma operação entre 2 valores final e é garantido que o resultado cabe.
Já na segunda parte você poderia ter um byte com 70 e outro com 70, que já ia estourar o valor, por isso que ele não deixa compilar. Nesse mesmo exemplo, se vc colocar final no b1 e b2, vai compilar.. Pq aí ele já resolve os valores na compilação.
Muito obrigado, Alberto. Ficou bem claro. Então só precisa garantir para o compilador que os valores irão caber na variável declarada. Valeu.