变量b是byte类型,请问:b++和b=b+1有什么区别,为什么b++编译器不报错?

我明白byte类型在运算的时候,会提升为int类型,因此:b=b+1会报错。但是不清楚为什么b++不会报错,难道++运算符也有类似于+=的强制转换能力?

明白问题了,++属于运算符,而+=则属于b=(byte)(b+1);他们之间有运算优先级之分,++是优先于()的