Почему я не могу добавить два байта и получить целое число, и я могу добавить два последних байта, чтобы получить байт?

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);
    }
}

Если результат выражения, включающего что-либо int-size или меньший, всегда является int, даже если сумма байтов помещается в байте.

Почему это происходит, когда мы добавляем два последних байта, которые помещаются в байт? Нет ошибки компилятора.

Ответы на вопрос(2)

Ваш ответ на вопрос