• 动手动脑


    一、枚举类型

      1、代码

    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};

    2、结果截图

      

    3、结论

      枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。  

      可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

    二、变量的作用域

      1、 Java变量遵循“同名变量的屏蔽原则”,每个变量都有一个“有效”的区域(称为“作用域”),出了这个区域,变量将不再有效。

      2、代码

      

    public class Test {
    
        private static int value=1;
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int value=2;
            System.out.println(value);
            
    
        }
    
    }

      3、结果截图

        

    三、java中的类型转换

      1、转换范围

        1.Int          32位       取值范围为       -2的31次方到2的31次方减1之间的任意整数(-2147483648~2147483647)

        2.Short      16位       取值范围为       -32768~32767之间的任意整数

        3.long        64位       取值范围为       -2的63次方到2的63次方减1之间的任意整数(-9223372036854774808~9223372036854774807)

        4.float        32位       取值范围为       3.402823e+38 ~ 1.401298e-45

        5.double     64位       取值范围为       1.797693e+308~ 4.9000000e-324

        6.char        8位       取值范围为         -128~127

        7.byte        8位       取值范围为         -128~127之间的任意整数

      2、结论

        不同类型之间相互转换可能会损失精度。

    四、动手实验

      1、代码

      

    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));
    
        }
    
    }

      2、结果截图

        

      3、结论

        使用double类型的数值进行计算, 其结果是不精确的,浮点数值没办法用十进制来精确表示的原因要归咎于cpu表示浮点数的方法,浮点数的值实际上是由一个特定的数学公式计算得到的。

    五、动手动脑

      1、代码

      

    public class Test1 {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int X=100;
            int Y=200;
            System.out.println("X+Y="+X+Y);
            System.out.println(X+Y+"=X+Y");
    
        }
    
    }

      2、结果截图

        

      3、结论

        双引号中的是字符串,没有双引号就是正常的加减法。

  • 相关阅读:
    ABAP——动态排序内表
    通过jmeter往kafka写入数据
    清空kafka全部数据
    redis命令
    Eureka的工作原理
    Spring Cloud Ribbon 原理解析
    Redis单实例数据迁移到集群
    Spring Cloud Hystrix
    ElasticSearch
    关于Java导出100万行数据到Excel的优化方案
  • 原文地址:https://www.cnblogs.com/lhj1017/p/5937336.html
Copyright © 2020-2023  润新知