byte型とint型を算術演算子で処理した結果はint型になります
public class Main{
public static void main(String[] args) {
byte x = 3;
byte y = 2 * x++;
System.out.println(y);
}
}
上記コードはコンパイルエラーになる。
byte型のyに代入するべき右辺の演算結果がint型になるので、キャストしないと代入できない。
int型とbyte型(short型、char型も同様)の演算結果は、値がbyte型(やshort型)の範囲であっても、intで返される。