为了账号安全,请及时绑定邮箱和手机立即绑定

九、基本数据类型转换

标签:
数据结构

算术运算时的转换

首先,要明确一点:Java不支持不同类型之间的数据运算。
那么,如果在实际编程真正碰到不同类型的数据的运算,JVM该怎么处理呢?
首先,JVM会先转化为同种类型后再做运算,但是这种运算是有限制的下面列出类型转换的规则:

1.如果是 byte short int char 之间的任意的类型做数值运算,先转换为int 类型,然后再做运算。
2.如果是整数类型 和 long 类型之间的运算,除了long类型之外的类型需要转换为 long 类型,然后再做运算。
3.如果有float 和 整数进行运算,所有的整数类型转换为float类型。
4.如果有double类型,所有的类型都自动向double 转换。

Java支持自动向上类型转换:向范围更大的类型转换。 自动的转换。 因为是安全的。
运算的过程中,同样可以进行强制转换。

赋值时的转换

赋值时的类型转换:

1:自动向上类型转换
可以将一个小范围的类型的数据,赋值给一个大范围类型的变量。因为安全,所以可以直接赋值。
2:强制向下类型转换。
通常是将一个大类型的数据,赋值给一个小范围类型的变量。

强制转换的语法:
[小范围类型]  变量 = (小范围类型)[大范围类型的数据]

例子

byte b = (byte)156;short s = (short)1234567;

向下强转的规律:

如果是整数之间的强制转换  直接把多出的高位部分直接砍掉。
如果是浮点数强制转换为整数,那么直接去掉小数部分。

两个比较大的整数相加 结果还是int 会超出int的范围。溢出的部分直接砍掉。


webp

两个比较大的整数相加 结果还是int 会超出int的范围。溢出的部分直接砍掉。

+=运算符与++运算符自动执行强转


webp

+=和++强转


webp

+=和++强转

类型转换图

webp

Java类型转换图



作者:Tinner丶
链接:https://www.jianshu.com/p/90601d22ca37


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消