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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© StarrySky 中级黑马   /  2015-11-7 13:42  /  657 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

2 个回复

倒序浏览
(1):short s1 = 1; s1 = s1 + 1;有什么错?
(2):short s1 = 1; s1 += 1;有什么错?

对于(1)  s1=s1+1; 因为1是int类型  运算时s1的类型先提升为int类型,然后再进行加法运算 运算结果就是int类型,int转short需要用到强制转换 s1=(short)(s1+1);

(2)是没错的 原因 可能是 +=这个运算符本身就包含了强制转换。

回复 使用道具 举报 1 0
JAVA 默认的数值数据类型是int和double,因此在使用的时候必须注意,比如1,2这些数字就是int型,1.2,2.8等就是double,看看基础班的课程,讲得很详细的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马