黑马程序员技术交流社区

标题: 强制转换 [打印本页]

作者: 楠楠    时间: 2015-9-6 23:35
标题: 强制转换
   short s = 1; s = s + 1;有没有问题?如果有怎么解决?
   short s = 1; s += 1;有没有问题?如果有怎么解决?
作者: 指间的太阳    时间: 2015-9-6 23:54
前者有问题,s运算时自动提升为int ,int + int不能赋值给short,后者没问题,里面含有强制转换
作者: 生存追求    时间: 2015-9-7 00:51
一、1默认是int类型的,所以s+1的s被直接转为int类型了,所以=右边为int,而左边是short类型的,short可以直接转为int,int不能直接转我short
二、  s+=1 <=> s =  (s的类型)(s+1)  所以右边int被强转为左边的short类型了

谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2