short s1 = 1; s1 = s1 + 1;
编译能否通过,请说明理由?
参考解答
不能:s1+1 发生了类型提升,提升为int整型,int不能直接赋值给short变量
追问 short s1 = 1; s1 += 1;
编译能否通过,请说明理由?
参考解答
能。s1 += 1 采用的增强赋值运算符,增强赋值运算符,以及自增、自减运算符均不会发生类型提升。