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);
}
}
If the result of an expression involving anything int-sized or smaller is always an int even if the sum of two bytes fit in a byte.
Why does it happen when we add two final bytes that fit in a byte? There is no compiler error.