我只是在玩类型转换。这是代码:
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
数据类型呢?是由于+
二元运算符吗?