基础第一阶段day02——强制类型转换

强转类型转换:

小伙伴们,以下代码哪些有错误呢?

final byte num1 = 10;
byte num2=10;
byte result1 = num1 + 10;
byte result2=num2+10;
byte result3=10+10;
byte result4=10.0+10;
byte result5=400+1;

解析:

result1:正确,final修饰的是常量;

result2:错误,右侧有变量,必须手动强转;修改byte result2= (byte) (num2+10);

result3:正确,右侧是常量,编译器常量优化处理;

result4:错误,除了将int类型的常量赋值给byte、short、char型的变量以外,其他类型常量赋值给类型较小的变量都需要手动处理;修改byte result4= (byte) (10.0+10);

result5:错误,超过了byte的范围,直接编译报错;
如(1)byte b=400;
Incompatible types.
Required: byte
Found: int

如(2) short s=60000;
Incompatible types.
Required: short
Found: int

也可以进行强转,但是结果不一定是预期结果,比如byte result5= (byte) (400+1);//输出结果是-111

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值