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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王秋霞0812 中级黑马   /  2014-1-23 17:40  /  1445 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王秋霞0812 于 2014-1-23 18:01 编辑

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

4 个回复

倒序浏览

short类型参与运算自动转换成int 类型
所以s1 = s1 + 1应该强制类型转换。 而s1 +=1 就不需要强制转换!
回复 使用道具 举报
第一个错是是
回复 使用道具 举报
第一错是s1+1后提升成了int类型不能赋给short类型,第二个没错吧,+=不提升类型
回复 使用道具 举报
前者类型会自动转换成int,后者编译器做了优化处理不会有错,但有可能溢出。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马