byte/short/char运算时的自动转换

本文探讨了Java中byte、short和char类型数据在运算时的自动类型提升。当常量参与运算时,编译器能够确保结果在原始类型范围内,但涉及变量时,会先转换为int类型,这可能导致赋值错误。了解这种转换对于避免类型转换异常至关重要。
摘要由CSDN通过智能技术生成

byte/short/char类型数据进行运算时,编译器会先把所有数据都转换为转换为int再运算

所以你会发现以下代码是正确的
byte a = 1;
byte b = 2;
byte c = 1 + 2;

因为在编译时,1和2是常量,编译器确定1+2的范围不会超过byte,所以可以赋值给c

但以下代码是错误的

byte a = 1;
byte b = 2;
byte c = a + b;

因为a,b是变量,不确定结果,故会先把a和b转换为整型,再进行运算,而int是不能赋值给byte的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值