继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

九、基本数据类型转换

慕姐8265434
关注TA
已关注
手记 1268
粉丝 222
获赞 1065

算术运算时的转换

首先,要明确一点: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


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP