黑马程序员技术交流社区

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

作者: qiushaocong    时间: 2015-8-23 22:45
标题: 关于类型转换问题
在byte类型中的运算:
byte a=2,b=3,c;
c=a+b;
这个为什么是错的。
还有就是发现个问题
定义了double类型的数据会发生丢失精度
如:double a=6.379,c;
int b=2;
c=a+b;
System.out.println(c);
结果为什么和计算器算出来的不一样?
作者: 史柯    时间: 2015-8-24 08:33
你看的是毕老师的视频吗
精度丢失的原因是你用double类型和int类型进行运算了吧
还有就是,同学,你定义变量的方式我们不是很建议
代码的规范性要强
作者: fantianfei    时间: 2015-8-24 08:59
怎么突然好多人问同样的问题
作者: 血马雄风    时间: 2015-8-24 09:45
类型转换出了问题,应该是c=(byte)a+b,与short a= a+1;的问题一样
作者: pengbeilin    时间: 2015-8-24 10:28
两个byte类型的数相加的时候,java会自动把这两个数提升为int类型然后再相加(至于原因就是byte类型取值范围太小,两个byte数相加容易越界,所以~)




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