short s=0; s+=1; //l正确,因为转换与加1都是一次自动完成的 s=s+1; //不正确,因为s是short型,1是int型,相加后提升为int型了,所以要转换类型:s=(int)(s+1)就行了