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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© qiushaocong 中级黑马   /  2015-8-23 22:45  /  414 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在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);
结果为什么和计算器算出来的不一样?

4 个回复

倒序浏览
你看的是毕老师的视频吗
精度丢失的原因是你用double类型和int类型进行运算了吧
还有就是,同学,你定义变量的方式我们不是很建议
代码的规范性要强
回复 使用道具 举报
怎么突然好多人问同样的问题
回复 使用道具 举报
类型转换出了问题,应该是c=(byte)a+b,与short a= a+1;的问题一样
回复 使用道具 举报
两个byte类型的数相加的时候,java会自动把这两个数提升为int类型然后再相加(至于原因就是byte类型取值范围太小,两个byte数相加容易越界,所以~)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马