java中byte型数据做运算时的问题

java中的基础数据类型分为八种,分别为:

              1.整数型:byte、short、int、long

              2.浮点型:float、double

             3.字符型:char

             4.boolean型:boolean

笔者在今天做题的时候碰到了一个问题,就是java中关于byte型数据做运算时的问题。


如下方一部分代码

byte b1=1,b2=2,b3,b6; 
final byte b4=4,b5=6; 
b6=b4+b5; 
b3=(b1+b2); 
System.out.println(b3+b6);

代码报错:

题目问的是代码是否有误,笔者在刚开始做的时候,并未考虑过多,认为byte型数据只要没有数据的溢出,基本运算都可以完成,但是结果却是在b3 = (b1+b2);这一行出现了报错,百思不得其解。

笔者百度了一下,才了解到,因为byte类型运算的时候自动转换为int类型所以在进行相加运算时,b1+b2的结果为int型,所以要么将b3设为int型数据,要么可以将b1+b2强转为byte型数据,这样程序就可以正常运行了!


将b1+b2强转为byte型,或者将b3设为int型数据:

    

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值