java的自动类型转换和强制类型转换

一、自动类型转换

在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:

代码中 int 变量 score1 可以直接为 double 型变量 score2 完成赋值操作,运行结果为: 82.0 

这种转换称为自动类型转换

当然自动类型转换是需要满足特定的条件的:目标类型大于元类型

二、强制类型转换

当程序中需要将 double 型变量的值赋给一个 int 型变量,该如何实现呢?

显然,这种转换是不会自动进行的!因为 int 型的存储范围比 double 型的小。此时就需要通过强制类型转换来实现了。

语法:( 数据类型 ) 数值

运行结果:

可以看到,通过强制类型转换将 75.8 赋值给 int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。

明白了吧,强制类型转换可能会造成数据的丢失哦,小伙伴们在应用时一定要慎重哦!


Java 中的数据类型可以分为两类:基本数据类型引用数据类型。基本数据类型包括 boolean、byte、short、int、long、float double,而引用数据类型包括类、接口、数组等。 Java 中的自动类型转换(隐式类型转换)是指在表达式中将一种数据类型的值自动转换成另一种数据类型的值。自动类型转换是从小类型到大类型的转换,例如 byte 类型可以自动转换为 short、int、long、float 或 double 类型,int 类型可以自动转换为 long、float 或 double 类型,等等。Java 中的自动类型转换是安全的,因为它不会导致数据的精度损失。 Java 中的强制类型转换(显式类型转换)是指将一种数据类型的值强制转换成另一种数据类型的值。强制类型转换必须显式地进行,因为它可能导致数据的精度损失或溢出。强制类型转换的语法格式如下: ``` (目标类型) 值 ``` 其中,目标类型是要转换成的数据类型,值是要转换的值。需要注意的是,强制类型转换可能会导致数据的精度损失或溢出,因此在进行强制类型转换时要谨慎,避免数据的精度损失溢出。 例如,将一个 double 类型的值强制转换成 int 类型的值可以使用以下语句: ``` double d = 3.14159; int i = (int) d; ``` 在这个例子中,d 是一个 double 类型的值,它被强制转换成了 int 类型的值,i 的值为 3。需要注意的是,强制类型转换可能会导致精度损失,因此在进行强制类型转换时要注意数据的类型精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值