日期:2014-05-20  浏览次数:20638 次

问个short的问题!
short ss=10;
ss=ss+1;
这个错了 应该改为(short)(ss+1)
但是当改为ss+=1时 结果也是对的?
请问是为什么?

------解决方案--------------------
+= 是复合赋值运算符, 复合赋值运算不会改变结果的类型,所以还是short类型。不会报错
而ss=ss+1; 其中ss+1被当成整数处理了所以要强转