读书人

问个short的有关问题

发布时间: 2012-08-17 02:08:34 作者: rapoo

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

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

读书人网 >Java面试

热点推荐