A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 楠楠 中级黑马   /  2015-9-6 23:35  /  491 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   short s = 1; s = s + 1;有没有问题?如果有怎么解决?
   short s = 1; s += 1;有没有问题?如果有怎么解决?

2 个回复

倒序浏览
前者有问题,s运算时自动提升为int ,int + int不能赋值给short,后者没问题,里面含有强制转换
回复 使用道具 举报
一、1默认是int类型的,所以s+1的s被直接转为int类型了,所以=右边为int,而左边是short类型的,short可以直接转为int,int不能直接转我short
二、  s+=1 <=> s =  (s的类型)(s+1)  所以右边int被强转为左边的short类型了

谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马