黑马程序员技术交流社区

标题: i-i != 0 ??? [打印本页]

作者: 胡晓思    时间: 2013-6-3 09:04
标题: i-i != 0 ???
本帖最后由 胡晓思 于 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. }
复制代码

作者: 夜默    时间: 2013-6-3 09:11
double i = 0.0;
        System.out.println(i/i);  //结果是NaN
0是不能除以0的
作者: 胡晓思    时间: 2013-6-3 09:18
4968547610317 发表于 2013-6-3 09:11
double i = 0.0;
        System.out.println(i/i);  //结果是NaN
0是不能除以0的

NaN != NaN 的是吧?
作者: 胡晓思    时间: 2013-6-3 09:30
查找了一些资料  NaN(not a number)  规范中:NaN不等于任何浮点数值,包括它自身在内   
明白了  谢谢楼上的  以解决
作者: 赵乐    时间: 2013-6-3 09:31
i的值Not a Number  NaN
NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 NaN 本身也不等于 NaN 。
作者: 胡晓思    时间: 2013-6-3 09:32
赵乐 发表于 2013-6-3 09:31
i的值Not a Number  NaN
NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 NaN 本身也不等 ...

谢谢 ! 知道了
作者: 星海浮沉    时间: 2015-12-22 17:28
多谢楼主和各位.让本人又涨知识了~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2