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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© q491039826   /  2015-8-29 23:42  /  8863 人查看  /  30 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

说白了就是一个会强制转换类型,一个不会
回复 使用道具 举报
太棒,了 赞一个
回复 使用道具 举报
s+=2  在short类型下,它会强制转换成short类型

而s=s+2 是short 类型加上一个int类型,结果还是一个int类型
回复 使用道具 举报
Glc90 中级黑马 2015-8-30 23:21:03
24#
区别 s+=2是对的 s=s+2报错,因为short+2最终结果会是int  大类型到小类型 会报错
回复 使用道具 举报
这是考类型转换  += 类型会自动提升
回复 使用道具 举报
一个带强制转换 一个没有
回复 使用道具 举报
小伙子,这个问题你已经问了很多遍了,,,,,,,,,,,这种锲而不舍的求知的精神让人折服
回复 使用道具 举报
s+=2,有强制类型转行,s=s+2,没有强制类型转行,会报错
回复 使用道具 举报
s+=2,有自动强转功能,把int类型转为short,所以不报错;后者自动转型为int类型和short类型有冲突,报错
回复 使用道具 举报
s=s+2编译报错,是不对的, s+=2 的话会默认进行自动的类型转换
回复 使用道具 举报
s+=2;会自动完成整型转换,s=s+2;右边计算后为整型要强制类型、转换,java中的byte char shot在进行算术运算时,默认为整型
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马