NaN是什么啊?为什么Double.NaN != Double.NaN啊?

Sodino 2009-02-22 09:09:43
问题一:不懂什么是NaN

问题二:下面的代码输出为false,真的让我很莫名其妙!!


public class Test{
public static void main(String []a){
if(Double.NaN == Double.NaN){
System.out.println(true);
}else{
System.out.println(false);
}
}
}

...全文
3665 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lost_guy_in_scut 2010-09-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bao110908 的回复:]

NaN 表示 0.0/0.0
[/Quote]
火龙哥威武,火龙哥一直是我的偶像
GoodDao 2009-02-23
  • 打赏
  • 举报
回复
怎么研究这些啊!
  • 打赏
  • 举报
回复
NaN 表示 0.0/0.0
DJBCAINIAO 2009-02-22
  • 打赏
  • 举报
回复

引用:

这样比较肯定是不行的。
NEGATIVE_INFINITY、POSITIVE_INFINITY、NaN只是一个固定的标志值NaN不是一个数,所以用<,<=,>,>=,==比较时,只要有一个是NaN,比较结果总是false,包括NaN==NaN。用!=比较时只要有一个是NaN,比较结果总是true,包括NaN!=NaN。

出现这种情况有
(1)此常数的值是零被零除所得到的结果。

(2)当运算结果未定义时返回此常数。

一头头 2009-02-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ZiSheng 的回复:]
引用 2 楼 coldanimal 的回复:
1. NaN = not a number

2. NaN =! NaN 就这样的哇

我感觉这种东西没有什么大的意思的 理解就好啦

还有null 和 undefined 另外

null 未定义或空字符串

undefined 对象属性不存在 OR 声明了变量但从未赋值。

java里边的,不是js
[/Quote]

哎哟 哥哥 这个东西到哪里都是一样的意思哇 虽然java没有undefined
ZiSheng 2009-02-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 coldanimal 的回复:]
1. NaN = not a number

2. NaN =! NaN 就这样的哇

我感觉这种东西没有什么大的意思的 理解就好啦

还有null 和 undefined 另外

null 未定义或空字符串

undefined 对象属性不存在 OR 声明了变量但从未赋值。
[/Quote]
java里边的,不是js
shuanlarousi1 2009-02-22
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20021025/15/1124953.html
一头头 2009-02-22
  • 打赏
  • 举报
回复
1. NaN = not a number

2. NaN =! NaN 就这样的哇

我感觉这种东西没有什么大的意思的 理解就好啦

还有null 和 undefined 另外

null 未定义或空字符串

undefined 对象属性不存在 OR 声明了变量但从未赋值。
Sodino 2009-02-22
  • 打赏
  • 举报
回复
好像两个 Double.NaN根本不能比较,我把“==”先后换成“<”和“>”,输出都是false,为什么啊?

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧