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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2014-3-10 17:24  /  1213 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

楼主你题目都没描述清楚{:3_47:}
   对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。


     对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。


PS:数据类型的转换
java的数据类型在定义时已经确定了,因此不能随意转换成其他类型的数据类型,但java允许用户有限度的做类型转换处理。
java会在下列条件都成立时,自动做数据转换类型
1 转换前的数据类型与转换后的类型兼容
2 转换后的数据类型的表示范围比转换前的类型大
{:3_48:}

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马