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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

5 个回复

倒序浏览
前面s1+1由于java中的隐式转换(自动转换)将short自动转换为了int类型,而s1是short类型,一个int类型的数,你用short类型去接收自然就会报错,而后面的那种是不会报错的
回复 使用道具 举报
回复 使用道具 举报
后面不报错是因为 +=   -=    =  包含强制类型转换操作
回复 使用道具 举报
回复 使用道具 举报
1是int类型,和short类型的s1做运算得到的是int类型,赋值给short类型的s1需要强制转换成short类型
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马