首先看看这三个代表什么:

  • Infinity:正无穷大
  • -Infinity:负无穷大
  • NaN:Not a Number

当float或double类型的数除零时,

  • 当被除数为非零值时,结果为无穷大
  • 当被除数也为零值时,则结果为NaN.
public class NaN {
public static void main(String[] args) {
System.out.println(1.0/0);
System.out.println(-1.0/0.0);
System.out.println(0.0/0.0);
System.out.println("************************");
double a = 1.0/0.0;//Infinity
double b = 1.0/0.0;//Infinity
double c = -0.0/0.0;//-Infinity
double d = 0.0/0.0;//NaN
double e = 0.0/0.0;//NaN
System.out.println(a+10.0);//Infinity
System.out.println(a == b);//true
System.out.println(a == c);//false
System.out.println(a == d);//false
System.out.println(d == e);//false
}
}

输出

Infinity
-Infinity
NaN
************************
Infinity
true
false
false
false

注意:浮点数做除法时除数可以为零值,但整数类型会抛java.lang.ArithmeticException: / by zero异常。

Infinity、-Infinity和NaN的更多相关文章

  1. C#中的Infinity和NaN

    C#中double和float类型有两个特殊值: Infinity(无穷大):5.0 / 0.0 = Infinity NaN(not a number):0.0 / 0.0 = NaN 计算表达式 ...

  2. Infinity NaN undefined和null

    Infinity属性用于存放表示正无穷大的数值. 负无穷大是表示负无穷大一个数字值. 该属性为Global对象的一个只读属性, 所有主流浏览器均支持该属性. Infinity属性的值为Number类型 ...

  3. Infinity 与 NAN

    System.out.println(5.0/0.0+''-"+0.0/0.0); 正确的输出结果是Infinity-NaN 1.为什么不是java.lang.ArithmeticExcep ...

  4. 建议3:正确处理Javascript特殊值---(1)正确使用NaN和Infinity

    NaN时IEEE 754中定义的一个特殊的数量值.他不表示一个数字,尽管下面的表达式返回的是true typeof(NaN) === 'number' //true 该值可能会在试图将非数字形式的字符 ...

  5. js cookie设置最大过期时间 Infinity

    Note: 对于永久cookie我们用了Fri, 31 Dec 9999 23:59:59 GMT作为过期日.如果你不想使用这个日期,可使用世界末日Tue, 19 Jan 2038 03:14:07 ...

  6. js Infinity 属性

    Infinity 属性用于存放表示正无穷大的数值. 说明 无法使用 for/in 循环来枚举 Infinity 属性,也不能用 delete 运算符来删除它. Infinity 不是常量,可以把它设置 ...

  7. C# 如何判断数据是否为 NaN

    double a = 0 / 0d; if (double.IsNaN(a)){ //do } 在浮点数计算中, 0除以0将得到NaN ,正数除以0将得到PositiveInfinity ,负数除以0 ...

  8. 判断变量是否为 NaN

    首先要明确 NaN 的一个特性, NaN不能用相等操作符(== 和 ===) 来判断, NaN === NaN 会返回 false: 下面是测试代码: console.log(isNaN('1')) ...

  9. NaN 和 Infinity

    using Fasterflect; using System; using System.Collections.Generic; using System.Linq; using System.R ...

随机推荐

  1. Emacs中的前进后退jump-tree

    Emacs中的前进后退jump-tree */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #8394 ...

  2. yum安装时出现No more mirrors to try.

    可能原因:可能是不正常删除造成的 解决方法: yum clean allyum makecacheyum -y update 然后重新安装

  3. go web编程——实现一个简单分页器

    在go web编程中,当需要展示的列表数据太多时,不可避免需要分页展示,可以使用Go实现一个简单分页器,提供各个数据列表展示使用.具体需求:1. 可展示“首页”和“尾页”.2. 可展示“上一页”和“下 ...

  4. AJAX - 实现一个简单的登录验证

    /**Ajax 编写流程 * 1.创建 XHR (XMLHttpRequest)对象 var xmlHttpReq = false; // var xmlHttpReq = ""; ...

  5. 什么是VPX技术?

    北京太速科技有限公司 自主研发VPX板卡  http://www.orihard.com/ 欢迎关注 新型VPX(VITA 46)标准是自从VME引入后的25年来,对于VME总线架构的最重大也是最重要 ...

  6. TMS320C6455BCTZA 原厂订购 原装正品

    作为一家科研公司,保证芯片的原厂品质和正规采购渠道是科学严谨的研发工作中重要的一环,更是保证研发产品可靠.稳定的基础.而研发中所遇到的各种不可预测的情况更是每个工程师向技术的山峰攀登中时会遇到的各种难 ...

  7. java ArrayList的基本使用

    package java06; /* 数组的长度是不可以发生改变的 Arraylist 集合的长度可以发生改变 对于ArrayList来说,有一个尖括号<E>代表泛型 泛型:就是装在结合中 ...

  8. excel条件格式 满足包含xx的整行高亮

    条件格式-->新建规则-->使用公式确定要设置格式的单元格   =COUNTIF($D4,"*_S_*")   =COUNTIF($D4,"*_M_*&quo ...

  9. BZOJ3508 开灯 & [校内NOIP2018模拟20181027] 密码锁

    Time Limit: 10 Sec Memory Limit: 128 MB Description xx作为信息学界的大神,拥有众多的粉丝.为了感谢众粉丝的爱戴,xx决定举办一场晚会.为了气派,x ...

  10. ServletContext对象初识

    什么是ServletContext? ServletContext代表一个web应用的环境(上下文)对象,ServletContext对象内部封装的是该web应用的信息.一个web应用只有一个Serv ...