short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?

short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?
对于short s1=1;s1=s1+1;由于s1+1运算时会自动提升表达式的类型,所以结果是int型,在赋值给s1时,编译器会报需要强制类型转换发错误
对于short s1=1;s1+=1;由于+=是java规定的运算符,编译器会对它进行特殊处理,因此可以正确编译。

 

posted @ 2020-12-22 15:10  IT特工  阅读(180)  评论(0编辑  收藏  举报