Java中基本类型运算的类型转换

1.参与运算的都是整数
(1)参与运算的是小于等于32位的byte,short,int 类型
例1
该例子出现错误:从int转换到byte会有损失。可以看出,a和b相加后为int类型。这是因为计算机底层以32位或64位进行运算,它会将原来8位的a和b转化为32位的int类型进行运算,结果自然为int类型。因而只能用int类型或64位的long类型去接收。
(2)64位的long类型参与运算
例2
在这里,8位的a元素转化为64位(即long类型),再参与运算,结果只能用long类型去接收
结论1:参与运算的为byte,short,int类型 时,统一转化为int类型;当有long类型参与运算时,非long类型统一转化为64位的long类型。当然,如果参与运算的都是int类型或long类型,就不存在转化了。

2.参与运算的都是浮点型
结论2:和结论1相似。当64位的double类型参与运算时,float类型都转化为double类型。

3.整形和浮点型的混合运算
例3
在该运算中,64是byte类型,数值2的默认类型是32位的int类型,根据结论一,64先转化为int类型,再运算,a*2的结果(128)是int类型,用float类型的c接收,int类型自然转化为float类型(128.0)

例3.1
根据结论一,int类型的2先转化为long类型,a*2的结果也为long类型,然后自然转换为float类型
例4
int类型的2转化为float类型参与运算,f/2为float类型,用float类型的c接收,没毛病
例4.1
byte类型的2先转化为double类型,再参与运算,那么f/2为double类型结论3:跨类型运算中,整形需转化为浮点型,如果浮点型中只有float类型,则整型转化为float型,如果有double类型参与运算,则非double类型都要转化为double类型

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值