short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1; 有错吗?

对于 short s1 = 1; s1 = s1 + 1;由于 1  int 类型因此 s1+1 运算结果也是 int

需要强制转换类型才能赋值给 short  short s1 = 1; s1 += 1;可以正确 

编译因为 s1+= 1;相当于 s1 = (short)(s1 + 1);其中有隐含的强制类型转换

posted @ 2020-11-28 12:42  咔啡  阅读(132)  评论(0编辑  收藏  举报