赋值运算符 byte b = 1; b = b + 2;错误的,因为2是int型,会把整个表达式的数据类型进行提升至int型,而赋值的左边是byte型,此时会报错。 b = (byte)(b + 2);(b + 2)是int型,通过(byte)进制强制转换为byte型 b += 2; 不存在上述问题,一种语法糖的现象,JVM自动帮程序员做了一些处理