Java基本类型间转换

本文详细介绍了Java中基本类型的自动类型转换和强制类型转换,包括隐式转换和显式转换可能导致的精度损失和溢出问题。通过示例代码展示了整型与长整型、浮点型与双精度型之间的转换,强调了在进行强制类型转换时需要注意的潜在风险。
摘要由CSDN通过智能技术生成

不同的基本类型直接可以相互转化,主要有两种方式:
自动类型转化(隐式类型转换):从小类型到大类型可以自动完成。在这里插入图片描述
强制转化:从大类型到小类型需要强制转换符。因为大类型的精度值大于小类型,取值范围大于小类型,所以,当使用强制转化时,有可能会造成精度的损失或者溢出,所以,在使用强制转化时要求显式的告诉编译器,正在进行强制转换。
基本类型转化如下示例所示,注意强制转换时可能会造成的精度丧失和溢出。
int a = 100;
int b = 200;long c = a + b; //自动将int转化为long long l1 = 1024l; int i = (int) l1; //需要加强制转化符由于1024在int的范围内,所以没有产生溢出 long l = 1024L * 1024 * 1024 * 4;int j = (int) l; //会产生溢出System.out.println(j); // 结果为:0 double pi = 3.1415926535897932384;float f = (float) pi; //会造成精度的损失,因为单精度的精确度小于doubleSystem.out.println(f); //结果为:3.1415927 int a = 100;int b = 200;long c = a + b; //自动将int转化为long long l1 = 1024l;int i = (int) l1; //需要加强制转化符由于1024在int的范围内,所以没有产生溢出 long l = 1024L * 1024 * 1024 * 4;int j = (int) l; //会产生溢出System.out.println(j); // 结果为:0 double pi = 3.1415926535897932384;float f = (float) pi; //会造成精度的损失,因为单精度的精确度小于doubleSystem.out.println(f); //结果为:3.1415927

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值