黑马程序员技术交流社区

标题: 关于基本类型 [打印本页]

作者: 颜宗茂    时间: 2011-12-29 20:17
标题: 关于基本类型
本帖最后由 颜宗茂 于 2012-1-1 20:59 编辑

为什么short sh= 1;这个sh = sh+2是不可以明白,sh +=2;为什么可以呢?
作者: 杨旭    时间: 2011-12-29 20:31
赋值运算符 = , +=, -=, *=, /=, %=
short a = 4 ;

a = a + 5;//两次运算,容易损失精度

a+=5;//一次赋值运算   将左右两边的和  赋值给 左边(自动完成了强转操作 )
作者: 房宝彬    时间: 2011-12-29 20:32
把 sh=sh+2 写成 sh= (short)(sh+2)就OK了

需要写成强制类型转换。
作者: 房宝彬    时间: 2011-12-29 20:33
本帖最后由 房宝彬 于 2011-12-29 20:39 编辑

因为sh是short类型 2是默认的int类型,需要强制转换成short才可以编译通过,否则会损失精度




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