0
点赞
收藏
分享

微信扫一扫

Java虚拟机规范.Java SE 8版中关于浮点类型的说明,Infinity和-Infinity

在我们的经验中除数是不可以为零的,否则​​java.lang.ArithmeticException: / by zero​​在等您

但是浮点数可就不一定了

在第二章2.3.2节《浮点类型、取值集合及浮点值》中有这样的表述
Java虚拟机规范.Java SE 8版中关于浮点类型的说明,Infinity和-Infinity_浮点

代码验证一下

public static void main(String[] args) {

float f1 = 1f;
float f2 = 0.0f;
float f3 = -0.0f;

System.out.println(" f2 == f3 "+(f2==f3));// true

System.out.println(" f1 / f2 = "+f1/f2);// Infinity 无穷大

System.out.println(" f1 / f3 = "+f1/f3);// -Infinity 负无穷小

}

结果是​​Infinity​​​和​​-Infinity​​,但是它两的值又是相等的

Java虚拟机规范.Java SE 8版中关于浮点类型的说明,Infinity和-Infinity_后端_02

所以在代码中要特别小心,除数为零,也不一定会报​​java.lang.ArithmeticException: / by zero​


举报

相关推荐

0 条评论