我只是在玩类型转换。这是代码:
class Typecasting {
public static void main(String[] args) {
byte b = 3;
byte c = b++; // no error
byte d = b + 1; // error
byte e = b + b; // error
}
}
为什么第一行没有错误,第二行没有错误?当我这样做的时候
f = b + 2;
我知道这b是自动转换为int类型的,因此f必须是int类型,但是当我这样做时
e = b + b;
它们都是byte类型,它们的结果也在 a 的范围内byte,那么为什么不能e有byte数据类型呢?是由于+二元运算符吗?