黑马程序员技术交流社区
标题:
short s=1;s=s+1;与short s=1;s+=1;的区别是什么?
[打印本页]
作者:
happyto1021
时间:
2014-9-12 16:27
标题:
short s=1;s=s+1;与short s=1;s+=1;的区别是什么?
求指导,搞的有点迷糊了
作者:
happyto1021
时间:
2014-9-12 16:28
,大婶呢,,,
作者:
dark_horse_xu
时间:
2014-9-12 21:47
看不到问题
作者:
舍我其谁
时间:
2014-9-12 23:13
s=s+1 会自动提升为int 类型 s+=1 则不会
作者:
clh
时间:
2014-9-12 23:19
s=s+1 会自动提升为int 类型 s+=1 也会,但是最后赋值的时候做了强转,使他转变成了short类型,
作者:
MeryStyle
时间:
2014-9-12 23:36
楼上正解!
作者:
Mr_Unhappy
时间:
2014-9-12 23:40
这是一个类型转化的问题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
short s=1;s+=1等价于与short s=1;s=(short)(s+1)
作者:
pvting
时间:
2014-9-13 00:00
short s=1;s=s+1;是编译不过的因为类型自动提示为int
short s=1;s+=1等价于与short s=1;s=(short)(s+1);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2