zoukankan      html  css  js  c++  java
  • 浮点型的三个特殊值 Double.NEGATIVE_INFINITY Double.POSITIVE_INFINITY Double.NaN

    • Double.NEGATIVE_INFINITY 负无穷
    • Double.POSITIVE_INFINITY 正无穷
    • Double.NaN 非数

    注意:浮点数才有无穷的概念,整数是没有的

    比如:

    int a = 1/0;//直接报错
    
    抛出运算异常:Exception in thread "main" java.lang.ArithmeticException: / by zero
    
    
    float m = (float)1.0/0;
    
    结果:Infinity
    
    
    double a =  -10.22 / 0;
    
    结果:-Infinity
    

    示例代码:

        public void testFun1() {
            //无穷  --一个浮点型(无论是基本类型还是引用类型)的正数除以0是无穷大,
            float a = (float) -10.22 / 0;
    
            System.out.println(a);
            if (Double.isInfinite(a) && a < 0.0) {
                System.out.println("a的值是负无穷");
            }
            if (Double.NEGATIVE_INFINITY == a) {
                System.out.println("----a的值是负无穷");
            }
    
            /*Double b=1029.98/0;*/
            Float b = new Float(1029.98 / 0);//float类型也是这么比较
            System.out.println(b);
            if (Double.isInfinite(b) && b > 0.0) {
                System.out.println("b的值是正无穷");
            }
            if (Double.POSITIVE_INFINITY == b) {
                System.out.println("-----b的值是正无穷");
            }
    
            //非数 0.0/0或者负数的平方根
    
            Double c = 0.0 / 0;
            System.out.println("c=0.0/0=" + c);
            Double d = Math.sqrt(-9.0);
            System.out.println("d=Math.sqrt(-9.0)=" + Math.sqrt(-9.0));
            /*Double.isNaN();判断是否是非数*/
            if (Double.isNaN(c)) {
                System.out.println("c是非数");
            }
            if (Double.isNaN(d)) {
                System.out.println("d是非数");
            }
    //        if(Double.NaN==d){
    //            System.out.println("d是非数");
    //        }    这种写法是错误的
        }
    

    结果是

    -Infinity
    
    a的值是负无穷
    
    ----a的值是负无穷
    
    Infinity
    
    b的值是正无穷
    
    -----b的值是正无穷
    
    c=0.0/0=NaN
    
    d=Math.sqrt(-9.0)=NaN
    
    c是非数
    
    d是非
  • 相关阅读:
    Spring2.5 注解 Aspect AOP
    Java反射机制深入研究
    Spring声明式事务管理、Spring整合Hibernate
    ettercap 修改页面内容
    asp复制到word实现分页效果
    利用SSLStrip & Ettercap ARP欺骗嗅探密码
    Backtrack下密码字典生成器使用参数(crunch3.0)
    浅析浏览器引擎对JQuery DOM加载和执行
    [置顶] 手机访问统计的技术分析
    Word2003取消首字母大写方法
  • 原文地址:https://www.cnblogs.com/jeasion/p/10758334.html
Copyright © 2011-2022 走看看