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);
}
}
2バイトの合計が1バイトに収まる場合でも、intサイズ以下の式を含む式の結果が常にintである場合。
1バイトに収まる最後の2バイトを追加すると、なぜそれが発生するのですか? コンパイラエラーはありません。