java自动类型转换

java自动类型转换

示例一:
在java中数值类型默认类型为int类型,如果使用以下代码:
byte b = 3;
这里的3是int类型的数值,但是却可以赋值给byte类型的b,其实这里编译器会判断右边的3是否超出byte类型的范围-128~127,如果没有超过就会自动把int数值转为byte类型,再赋值给b。如果超过就会编译报错,精度丢失。

示例二:
byte b = 3;
b = 3 + 3; //可以通过编译,这里将3+3得到的结果进行检查,再赋值给b,相当于b = 6。
b += 3; //可以通过编译,+=相当于一个赋值语句,这里会把b和3相加得到的值,自动转换为byte类型的值,再赋值给b,相当于b =(byte) (b + 3)。
b = b + 3; //编译报错,因为b是一个byte类型的变量取值不确定,可能会丢失精度。

示例三:
int i = 3;
i = 3 + 3;
i += 3;
i = i +3;
均可以编译通过,因为java数值类型默认int类型,int类型有4个字节,就算运算后的结果超过四个字节,java虚拟机也会舍弃多余的位数,自用转换成int类型的值。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值