a. byte b = 1 + 1; (正确,1+1运算后的结果是个常量且在byte的范围内,所以可以直接赋给byte变量。)
b. byte b = 1; b = b + 1; (错误,运算b+1时b会自动提升为int型,运算后的结果仍然是int型,不能赋给byte型变量,否则会丢失精度。)
c. byte b = 1; b = b += 1; (正确,b+=1包含了一个隐藏的类型转换,相当于 b=(byte)(b+1);)
d. byte b = 1; b = ++b; (正确,b=++b也包含了一个隐藏的类型转换)