黑马程序员技术交流社区

标题: 字符串小问题 [打印本页]

作者: 王秋霞0812    时间: 2014-1-23 17:40
标题: 字符串小问题
本帖最后由 王秋霞0812 于 2014-1-23 18:01 编辑

short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

作者: 透过生活    时间: 2014-1-23 17:57

short类型参与运算自动转换成int 类型
所以s1 = s1 + 1应该强制类型转换。 而s1 +=1 就不需要强制转换!
作者: 山治0712    时间: 2014-1-23 22:03
第一个错是是
作者: 山治0712    时间: 2014-1-23 22:04
第一错是s1+1后提升成了int类型不能赋给short类型,第二个没错吧,+=不提升类型
作者: 俞帅明    时间: 2014-1-24 00:24
前者类型会自动转换成int,后者编译器做了优化处理不会有错,但有可能溢出。




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