Java基础----数据类型转换

本文详细介绍了Java中的类型转换,包括自动类型转换和强制类型转换。自动转换遵循从小范围到大范围的顺序,例如byte到int,但可能会导致精度损失。而在需要将大范围值赋给小范围变量时,需要使用强制转换。此外,还提到了强制转换的语法,并指出(int)a+b与(int)(a+b)的区别,前者先转换后运算,后者先运算后转换。
摘要由CSDN通过智能技术生成

1.自动转换

在Java中,如果将小范围的值赋值给大范围的变量那么它就可以实现自动类型转换.

自动类型转换的顺序:byte -> short -> int -> long -> float ->double,这里考察的就不是精度问题了,而是范围问题.它是依托于范围大小来转换的.所以在这么转换中,必然存在精度损失.如int自动转换成float,要知道int的精度是大于float的,所以一般如果要将int转成浮点型,是建议将int转成fdouble的.这样就不会有精度损失.

2.强制转换

在自动转换我们说过如果是小范围的值赋值给大范围的变量,就可以实现自动转换.那么反过来,大范围的值赋值给小范围的变量那它就不会自动发生,所以我们就需要强行使他们发生,这就需要强制转换.

强制转换的格式如下:

目标类型 变量名 = (目标类型) 值

如:

     int a = 123;
     long b = 1234l;
     a =(int) b;//此时的目标类型就是int类型,记住强制类型转换用于大范围变小范围

还有一个小地方要注意:

(int) a + b与(int) (a + b)

它们两个是不一样的,前者表示将a强制转换为int类型后再与b进行运算得到结果,而后面那个是将a与b的运算后的结果强制转换为int类型.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈,啦啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值