java 中 double a = 5/2; a = ? (多少),然后 double a = -5/2; a = ? (多少)

java 中 double a = 5/2; a = ? (多少)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

今天早上看到一个问题,说double a = 5/2; 运行后结果a是多少?

double a = 5/2; 时 a = ?

先说结果:a = 2.0;
double a =5/2;
System.out.println("a = " + a);

为什么呢?

在java中,两个int相除时,java会将两个int相除的结果强转成int,也就是将double转成int,在转的过程中,有几种取整的方式,有向下取整、向上取整、四舍五入取整、还有去尾法取整等方式。

  • Java默认是去尾法取整的,也就是直接将小数点后面的数字不要,有的语言默认选择的是向下取整

例如 (int)2.5 = 2; 或者是(int)-2.5 = -2,

回到题中,在java代码中,会把代码中等式的右边独立先算,5 和 2当成int类型处理做除法算数,得到2.5,再进行去尾法取整,得到的是2,再者因为等式的左边是double类型,转成后变成2.0;
在这里插入图片描述

double a = -5/2; 时 a = ?

根据我我们上面说过的java默认的时去尾法取整,所以我们就可以得知double a = -5/2; 时 a = -2.0
在这里插入图片描述


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值