A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡晓思 中级黑马   /  2013-6-3 09:04  /  1874 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 胡晓思 于 2013-6-3 19:58 编辑

下面代码打印结果怎么是false????
  1. public class Test
  2. {
  3.       public static void main(String[] args)
  4.      {
  5.          double i = 0.0/0.0;
  6.           System.out.println( i-i == 0);
  7.       }
  8. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

6 个回复

倒序浏览
double i = 0.0;
        System.out.println(i/i);  //结果是NaN
0是不能除以0的

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
4968547610317 发表于 2013-6-3 09:11
double i = 0.0;
        System.out.println(i/i);  //结果是NaN
0是不能除以0的

NaN != NaN 的是吧?
回复 使用道具 举报
查找了一些资料  NaN(not a number)  规范中:NaN不等于任何浮点数值,包括它自身在内   
明白了  谢谢楼上的  以解决
回复 使用道具 举报
i的值Not a Number  NaN
NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 NaN 本身也不等于 NaN 。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
赵乐 发表于 2013-6-3 09:31
i的值Not a Number  NaN
NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 NaN 本身也不等 ...

谢谢 ! 知道了
回复 使用道具 举报
多谢楼主和各位.让本人又涨知识了~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马