Double.NaN和Float.NaN

来源:互联网 发布:广州有mac专柜吗 编辑:程序博客网 时间:2024/05/16 17:28

在网上 看到一个问题,便将其记录下来

问题所述:存在使 i>j || i<= j不成立的数嘛?

答案是存在的 如:Double.NaNFloat.NaN

那么Double.NaN 究竟是什么?

简单的来说,NaN就是not a number 的意思,

在api文档中解释如下:api注释
NaN是一个double类型的非数值常量,没有真实的含义。
源码中的定义如下:
这里写图片描述
其值为0.0 d / 0.0
并且Double.NaN 与本身是不相等的,
代码实验如下:

public class  Test{    public static void main(String[] args)     {        if (Double.NaN == Double.NaN)        {            System.out.println("=");        }        else        System.out.println("this");    }}

答案输出的是this,如果直接输出Double.NaN,那么输出的是NaN。

初学—–可能有很多 理解不是 很好。学习中,希望有所帮助。

0 0