Galera, vejam este codigo:
public class teste {
public static void main (String[] args){
short a=128;
byte valor=(byte)a;
System.out.println(valor);
}
}
O resultado que é retornado é -128.
Notem que atribui 128 ao tipo short, pois se eu tivesse atribuido 127 não teria ocorrido mudança.
Alguém poderia me dizer porque isto ocorre?