short s=1,s=s+1.报错;short s=1,s+=1.不报错????

来源:互联网 发布:斗鱼大官人淘宝店网址 编辑:程序博客网 时间:2024/04/30 10:19

short s=1,s=s+1

运算时,s会先转换为int类型进行运算,然后把一个int类型的数赋值给short,所以会报错


short s=1,s+=1

+=是java中的赋值运算符,s+=1等同于s=s+1.但不完全相同,java编译器对+=进行了一些优化,s+=1相当于s=(short)(s+1);