Chapter 5. Conversions and Promotions

本文详细解析了Java中基本数据类型的转换规则,包括boolean类型的不可转换性,整数型、浮点型、字符型之间的自动及强制转换原则,以及不同类型混合运算时的处理方式。

 

 

JLS解读:https://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html

 

基本数据类型的转换  

1) boolean不可以转换为其他的数据类型

2) 整数型,浮点类型,字符型是可以相互转换的,转换时遵守下面的原则:

a. 容量小的类型自动转换为大的类型,数据类型按容量大小排序为:

byte, short, char < int < long <float < double

b. byte, short, char 三种类型间不会相互转换,他们三者在计算时,首先会转换为int类型

c. 容量大的类型在转换为小的类型的时候,必须加上强制转换符,此时可能造成精度降低或者溢出问题

d. 有多种数据类型混合计算的时候,系统首先自动转换为容量最大的那个类型再来继续计算100 + 300 +0L 在计算时,首先是100+300的整数计算,然后与0L相加,结果为long类型的

e. 实数类型默认为double类型,整数类型默认为int类型

如图所示:

 

转载于:https://www.cnblogs.com/extjs4/p/9236950.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值