Java数据类型间的转换

数据类型间的转换

       在Java中,整型、浮点型等都是基本的数据类型,它们是能够进行数据类型转换的。下面介绍数据类型之间的数据转换都有哪些转换方式。

1.自动转换

       所谓自动转换就是不需要明确指出所要转换的类型是什么,是由Java虚拟机自动来转换的。转换的规则就是小数据类型变大数据类型,但大的数据类型的数据精度有的时候要被破坏。

例如:

•//定义各种数据类型

•int i = 123;

•char c1 = 22;

•char c2 = 'c';

•byte b = 2;

•//自动转换的数据类型

•int n = b;

•long l = i;

2 .强制转换

     所谓强制转换,是有一种强制性的,明明不能自动转换,而强制性地进行转换。

例如:

•//定义数据类型

•int i = 22;

•long L= 33;

•//强制转换数据类型

•char c = (char)i;

•int n = (int) L;

•在上面的例子中i原来是一个int整型,但要将它强行转换成char字符型。同样L原来是一个long型,但要将它强行转换成int整型。通过前面的学习已经知道,long型的取值范围最大值可以为2的63次方减1,而int型的取值范围最大值只有2的31次方减1,所以如果L为一个大于2的31次方减1,在强制类型转换时就会丢失精度,使数值发生变化,这个是需要注意的地方。

3.隐含转换

       隐含转换和自动转换很相似,Java虚拟机根据数据类型的位数来判断此数据类型是否能装载此数据,如果能,Java就默认进行了转换。

例子1:

•byte b = 111;

例子2:

 •int i = 222;

 •byte c = (byte) i;

•在上面两条语句中有2个转换,一个是111转换成byte类型的数据库,因为byte类型的数据位数能装载下111,所以能进行转,这就是隐含转换。把222转换成byte类型的c就不能进行隐含转换,因为能进行隐含转换的只能是常量而不能是变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值