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

© fanchunyu 中级黑马   /  2016-4-23 21:12  /  391 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

5 个回复

倒序浏览
前者s1=s1+1;的这句话有可能会损失精度;因为前者发生了类型的转换;后者s1+=1存在自动类型的转换,所以不存在会损失精度
回复 使用道具 举报
所有的byte,short,char ,在参与运算时都会自动提升为int类型
回复 使用道具 举报
所有的byte,short,char ,在参与运算时都会自动提升为int类型
回复 使用道具 举报
这个牵扯到数据类型转换的问题,前者需要强制转换,后者是自动类型提升(隐式转换)。
回复 使用道具 举报
第一个有错,第二个没错哦,第二个会自动转型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马