美文网首页
Java中1/0和1.0/0的结果

Java中1/0和1.0/0的结果

作者: lenny611 | 来源:发表于2020-10-15 23:18 被阅读0次

1/0结果老生常谈了,会抛出java.lang.ArithmeticException: / by zero;
而1.0/0结果则是Infinity(无穷大),结果如下:


image.png

原因是因为IEEE 754标准,该标准规定浮点数/0等于正无穷或负无穷。而Java也正是这样做的。直接看下图:


程序执行及结果
由上图可以看到,浮点数定义了正无穷大以及负无穷大,且1.0/0可以得到正无穷大,-1.0/0可以得到负无穷大。再看看Double中关于无穷大的定义,定义如下:
Double中无穷大以及非数的定义
所以可以知道为什么1.0/0==Infinity为true(负数同理)了,因为它就是这么定义的。

其中NaN表示非数,Java中提供Double.isNaN(double v)方法来判断是否为非数。
同样的,Double.isInfinite(double v)方法可以判断是否为正无穷大或者负无穷大,该方法的具体定义如下:


方法定义
所以无论是正无穷大还是负无穷大,都可以使用该方法来判断。
Double中还有一个方法Double.isFinite(double v)与Double.isNaN(double v)相反,它可以判断这个是否可以转化为一个数字。

相关文章

  • Java中1/0和1.0/0的结果

    1/0结果老生常谈了,会抛出java.lang.ArithmeticException: / by zero;而1...

  • i++和++i

    java场景一 打印结果: i: 0 j: 1 java场景二 打印结果: i: 0 j: 1

  • a=0; a=a++; a=?

    在java和c中实现不同,结果也不一样。 java: tmp=a, a=a+1, a=tmp 结果为0 c: a=...

  • 2019-11-25

    总销:1单比:1.0高单:0 大衣: 0棉衣: 0双面尼:0皮草:0小黑:0 个销:0棉衣:0小黑:0

  • 2019-12-16

    总销:4单比:1.0高单:0 大衣:0棉衣: 0双面尼:0皮草:0 个销:1棉衣:0

  • 2019-12-01

    总销:3单比:1.0高单:0 大衣: 0棉衣: 0双面尼:0皮草:0 个销:1棉衣:0

  • 关于数学的一个思考记录

    底层原理解释任何数x0=0加法中 1+1 和 1+1+0 的结果相同0x1 就是前面的1+1都没有了,最后剩余0 ...

  • 从命令行中获取三个变量并且输出

    编译命令:javac Para.java运行命令:java Para 0 1 2 输出结果:

  • 08店

    总销:17,单笔.1.8高单:0 大衣: 0。棉衣: 。 双面尼: 皮草:0 个销: 1。单比:1.0

  • 位运算及其应用场景

    概念理解 按位与 & :全1为1,有0为0 假设 1:true,0:false,联想Java中的&&运算符,只有两...

网友评论

      本文标题:Java中1/0和1.0/0的结果

      本文链接:https://www.haomeiwen.com/subject/qskapktx.html