黑马程序员技术交流社区

标题: short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? [打印本页]

作者: 求学之路    时间: 2015-8-19 00:50
标题: short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)
short s1 = 1; s1 += 1;(可以正确编译)

作者: cc3441251    时间: 2015-8-19 00:56
本帖最后由 cc3441251 于 2015-8-19 01:03 编辑

short s1 = 1; s1 = s1 + 1  (s1 = s1 + 1 ;S1是 2个8位  1是4个8位) 结果会报错,因为它有2次运算,不会做自动转换
s1+=1,不会报错,因为他只有1次运算,他会做自动转换,因为1也是在short的取值范围之内的








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