i=i+1和i+=1 是完全一样的吗 其实是不一样的,只能说是相似,但本质上并不是完全相同 如 : byte b = 1; b = b + 1;//编译不能通过 b += 1;//编译通过 其他如 -= 、 *= 、/= 之类的扩展运算符也是同理,永远都不会改变运算结果类型。 或者这样说: byte b=1; b += 1 等同于 b= (byte)(b+1); // 但是这样可能会损失精度。