黑马程序员技术交流社区

标题: 关于类型转换的小疑问 [打印本页]

作者: StarrySky    时间: 2015-11-7 13:42
标题: 关于类型转换的小疑问
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
作者: 请指教    时间: 2015-11-8 09:33
(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)是没错的 原因 可能是 +=这个运算符本身就包含了强制转换。


作者: yuhongzhen    时间: 2015-11-8 10:28
JAVA 默认的数值数据类型是int和double,因此在使用的时候必须注意,比如1,2这些数字就是int型,1.2,2.8等就是double,看看基础班的课程,讲得很详细的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2