java培训机构吧 关注:31贴子:150
  • 1回复贴,共1
short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1 有错吗?


来自Android客户端1楼2023-02-06 15:02回复
    前者不正确,后者正确。
    对于 short s1 = 1; s1 = s1 + 1;由于 1 是 int 类型,因此 s1+1 运算结果也是 int 型,需要强制转换类型才能赋值给 short 型。
    而 short s1 = 1; s1 += 1;可以正确编译,因为 s1+= 1;相当于 s1 = (short)(s1 + 1);其中有隐含的强制类型转换


    来自Android客户端2楼2023-02-06 15:02
    回复