Warum kann ich nicht hinzufügen, zwei bytes und bekomme ein int und ich kann hinzufügen, die beiden letzten bytes Holen Sie sich ein byte?

public class Java{
    public static void main(String[] args){
        final byte x = 1;
        final byte y = 2;
        byte z = x + y;//ok
        System.out.println(z);

        byte a = 1;
        byte b = 2;
        byte c = a + b; //Compiler error
        System.out.println(c);
    }
}

Wenn das Ergebnis eines Ausdrucks mit etwas int-Größe oder kleiner ist immer ein int, auch wenn die Summe von zwei Byte passen in ein byte.

Warum passiert es, wenn wir addieren die beiden letzten bytes passen in ein byte?
Es gibt keine compiler-Fehler.

InformationsquelleAutor Joe | 2012-10-27

Schreibe einen Kommentar