• 【第二次JAVA课,java语法基础】课件


    动手动脑

    public class EnumTest {
    
        public static void main(String[] args) {
            Size s=Size.SMALL;
            Size t=Size.LARGE;
            //s和t引用同一个对象?
            System.out.println(s==t);  //
            //是原始数据类型吗?
            System.out.println(s.getClass().isPrimitive());
            //从字符串中转换
            Size u=Size.valueOf("SMALL");
            System.out.println(s==u);  //true
            //列出它的所有值
            for(Size value:Size.values()){
                System.out.println(value);
            }
        }
    
    }
     enum Size{SMALL,MEDIUM,LARGE};

      结果

      s和t引用的不是一个对象,也不是原始数据类型,转换后的u和s是一个对象。也就是说,相同值的enum类型是引用相同对象,而对于这样一个非原始数据类型来说,重新定义了equal方法和“==”一样,所以两者等价。

    动手实验

      

    public class TestDouble {
    
        public static void main(String args[]) {
            System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
            System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
            System.out.println("4.015 * 100 = " + (4.015 * 100));
            System.out.println("123.3 / 100 = " + (123.3 / 100));
        }
    }

      结果  

    0.05 + 0.01 = 0.060000000000000005
    1.0 - 0.42 = 0.5800000000000001
    4.015 * 100 = 401.49999999999994
    123.3 / 100 = 1.2329999999999999

      可以看出来double是不精确的!想要这样精确的计算需要用BigDouble类或者String储存。这是因为二进制对十进制转换时存在问题。

    double类型的数值占用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低位上一定会与实际数据存在误差(除非实际数据恰好是2的n次方)。举个例子来说,比如要用4bit来表示小数3.26,从高到低位依次对应2的1,0,-1,-2次幂,根据最上面的分析,应当在二进制数11.01(对应十进制的3.25)和11.10(对应十进制的3.5)之间选择。——百度知道

    动手动脑

    int X=100; 
    int Y=200;
     System.out.println("X+Y="+X+Y); 
    System.out.println(X+Y+"=X+Y");

      结果

      

    X+Y=300
    100=X+Y

    原因是+的不同重载,在基本数据中就是相加,对String就是字符串相组合。

  • 相关阅读:
    索引聚焦如何使 SQL Server高效 设计(ITPUT 讨论汇总)
    android包Android "java.lang.NoClassDefFoundError:*"报错的处理方法
    删除实现图的构造、DFS、BFS 以及图的删除实现
    RTL8019以太网控制器
    JavaScript正则表达式
    sql语句
    无线模块电阻表
    FindWindow(api)确认程序是否在运行
    正则表达式语法
    msi安装程序安装参数
  • 原文地址:https://www.cnblogs.com/limitCM/p/9751681.html
Copyright © 2020-2023  润新知