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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求指导,搞的有点迷糊了

点评

http://bbs.itheima.com/thread-127149-1-1.html  发表于 2014-9-12 17:20

9 个回复

倒序浏览
,大婶呢,,,
回复 使用道具 举报
看不到问题
回复 使用道具 举报
s=s+1 会自动提升为int 类型   s+=1  则不会
回复 使用道具 举报
s=s+1 会自动提升为int 类型   s+=1  也会,但是最后赋值的时候做了强转,使他转变成了short类型,
回复 使用道具 举报
MeryStyle 来自手机 中级黑马 2014-9-12 23:36:23
地板
楼上正解!
回复 使用道具 举报
这是一个类型转化的问题s=s+1的时候java会自动把s+1的值转化为int类型,所以次数便会出现类型转化错误,而s+=1就相当于s=(short)s+1,所以能正常运行,另外类型转化规则byte>short>int>long>float>double
回复 使用道具 举报
pvting 中级黑马 2014-9-12 23:46:52
8#
short s=1;s+=1等价于与short s=1;s=(short)(s+1)
回复 使用道具 举报
pvting 中级黑马 2014-9-13 00:00:17
9#
short s=1;s=s+1;是编译不过的因为类型自动提示为int
short s=1;s+=1等价于与short s=1;s=(short)(s+1);
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马