Java 自动类型转换

在程序中已经定义好了数据类型的变量,若是想用另一种数据类型表示时,Java会在下列的条件皆成立时,自动做数据类型的转换:

 

1、转换前的数据类型与转换后的类型兼容。

2、转换后的数据类型的表示范围比转换前的类型大。

 

举例来说,若是想将short类型的变量a转换为int类型,由于short与int皆为整数类型,符合上述条件1;而int的表示范围比short大,亦符合条件2。因此Java会自动将原为short类型的变量a转换为int类型。

 

值得注意的是,类型的转换只限该行语句,并不会影响原先所定义的变量的类型,而且通过自动类型的转换,可以保证数据的精确度,它不会因为转换而损失数据内容。这种类型的转换方式也称为扩大转换。

 

前面曾经提到过,若是整数的类型为short或byte,为了避免溢出,Java会将表达式中的short和byte类型自动转换成int类型,即可保证其运算结果的正确性,这也是Java所提供的“扩大转换”功能。

 

以“扩大转换”来看可能比较容易理解——字符与整数是可使用自动类型转换的;整数与浮点数亦是兼容的;但是由于boolean类型只能存放true或flase,与整数及字符是不兼容,因此是不可能做类型的转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值