java double to float_JAVA 基本数据类型 double float

1.double是4个字节,float 是8个字节。

2.在程序需要注意的是,以下两种定义方式:

double d =3.14 ;  这是正确的

float f =3.14; 这个是错的 。我们默认的话是把小数当作double类型。 所以和我们写的float不匹配。而且如果进行强转换,把float转为 double .也就是8个字节的转为4个字节的会造成精度丢失。所以编译的时候也会报错。

3.double和float的定义是由误差的。 我们定义的double的区间范围是-3.4E-38 ~3.4E38 。而int是 -2E-31~2E31 这个范围 因为在这个范围之内的整数是可数的,而小数在很多范围都是不可数的。所以我们并不能描述出来整个小数的范围。我们只能够取一定的精度来表示区间范围。

4.对double和float进行计算会存在精度误差,不过我们可以自己设置一定的精度范围来确定我们计算是否正确。如果我们要求精度过高而double和float不能满足我们可以选择BigDecimal这个类来进行计算。 就跟long一样 他的区间范围大概在-2E-63~2E63这个范围。如果超出范围了我们可以选择BigInteger。

5.在进行数据类型转换的时候,需要遵守数据的范围从小范围转到大范围,不会发生错误。

如byte转为 short没问题 ,short转为int 没问题。 int转为long没问题。 code如下

long l =5; 这里其实就是进行了int转换为long.

但是如果short转为byte或者long转为int。 都会造成精度丢失。不是说不可以转换,但是需要加上强制类型转换才可以转.code如下:

int i = 20; 假设200已经超出了int的范围。假设 int的范围是 -100~100.

这时候会编译报错,我们加上强制类型转换

int i = (int)200; 这时候类型转换没有报错了。 但是我们得到i的值不是200; 因为200;已经超出了转换的范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值