一、
a. byte b = 1 + 1;
b. byte b = 1; b = b + 1;
c. byte b = 1; b = b += 1;
d. byte b = 1; b = ++b;
//编译通过。等价于byte = 2;因为右边是常量,其值固定,若在byte型的范围内,编译器会自动完成强制转换;若不在范围内,则编译失败。
byte b = 1 + 1;
//编译失败。b是变量,编译器编译时并不会知道b具体是多少(编译时不会赋值,所以不知道b是多少),所以会认为b是所有可能的值,因此b+1不能通过编译。
byte b = 1;
b = b + 1;
//编译通过。+=是一个赋值运算符,加和赋值是一步完成的,含有强制类型转换。等价于b = b = (byte)(b+1);
byte b = 1;
b = b += 1;
//编译通过。++是自增运算符→自身加1再赋值给自己,加1和赋值也是一步完成的,且不会改变变量的类型(含有强制类型转换)。
byte b = 1;
b = ++b;