精度的自动提升和强制类型转换

四则运算的时候会自动提升精度,最终计算出来的结果的精度以高精度为准,这种现象叫做精度的自动提升。

最大值加一变成了最小值,最小值减一变成了最大值,这种现象叫做数据溢出,在开发中一般不会出现,只是作为面试的一个概念提出来。如果要让数据不溢出应该提升精度(也叫做扩大数据类型)。

int类型变量精度提升

public class Hello
{
	public static void main(String [] args)
	{
		int num =10;
		System.out.println((double)num);
	}
}

变量精度提升:变量前面加上小括号,小括号中的内容是要提升的精度类型,比如说(float)num。

高精度的值赋值为低精度的变量

无法将一个高精度的数值赋值给低精度的变量,如果要赋值需要先将高精度的数据转换成低精度之后才赋值,这种转换叫做强制类型转换

强制类型转换

public class Hello
{
	public static void main(String [] args)
	{
		double num1=10.8;
		int    num2=(int)num1*10;
		System.out.println(num2);
	}
}

最后结果输出不是108而是100,强制类型转换将高精度的数据转换为低精度数据是会出现精度丢失,上面的demo中0.8被丢失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值