2020-11-12

java数据类型中关于数据溢出的一些事情

byte表示整型变量;
在java中的存储的内存范围在-128-127之间,占用一个字节。
对于理解数据类型的值溢出可以有一些比喻实例:
比如:有一大杯水,但是里边只剩几口了。这时我们可以将其倒入到其他更小的杯子中,这时可以用小杯子喝水。
其中的大杯子表示范围更大的数据类型,而小杯子表示数据范围小的。
现在举个实际例子:当int类型的数据存储到了一个12的值,我们要将其赋值给byte类型的数据,
int a = 12;
byte b;
b = a;
这时候整型数据的int范围超过了字节类型的范围,编译器报错。
我们需要将其转换为int类型的数据才能保存。
也就是说:
b = (byte)a; //编译通过
再回过头来说明就是,假如当大杯子的水的容量超出了小杯子的容量时,发生了溢出的现象。我们在程序中叫做精度溢出。当然你也可以说,大杯子水的容量只要不超过小杯子的容量就可以了,但是编译器为了避免出现有不合理的事情发生,所以就将这种情况列为了出错。
而小杯子里的水无论如何都可以倒入到大杯子里。
byte b = 127;
int a;
a = b; //程序正确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值