• 动手动脑


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

      运行结果:

    分析与结论:

    ①、在枚举变量中,使用==和equals()的结果是一样的;

    ②、原始数据类型有八个:byte、short、int、long、boolean、char、float、double;枚举类型是引用类型

    ③、getClass() 方法返回和当前枚举常量的枚举类型对应的 class 对象;

    ④、枚举可以限制范围,只可在枚举类中选。

     2、同名变量的屏蔽原则

    public class Test1 {
          private static int value=1;
          public static void main(String args[]) {
        	  int value=2;
        	  System.out.println(value);
          }
    }
    

      结果:

    分析与结论:

    java变量遵循“同名变量的屏蔽原则”,第一个value是成员变量,也是全局变量,第二个value是局部变量,局部变量可以覆盖全局变量;

    3、JAVA中的类型转换

    short  16位 -32768~32767  -2^15~2^15-1

    int  32位 -2147483648~2147483647 -2^31~2^31-1

    long  64位 -922372036854775808~9223372036854775807 -2^63~2^63-1

    float  32位 1.4e-45~3.4028235e38

    double  64位 4.9e-324~1.7976931348623157e308

    一般来说在实线两端都是由低精度指向高精度的类型,所占的位数从低到高,范围从小到大,所以可得出,低精度向高精度转化不丢失精度,反之,从高精度传向低精度则会损失。

    4、

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

      运行结果:

    分析与结论:

    使用double类型进行计算,结果是不精确的。因为这个涉及到二进制与十进制的转换问题。

    5、

    public class Test2 {
    	public static void main(String args[]){
            int X=100;
            int Y=200;
            System.out.println("X+Y="+X+Y);
            System.out.println(X+Y+"=X+Y");
        }
    }
    

      运行结果:

    分析与结论:

    原因,+X+Y,表示依次输出XY的值,而X+Y表示一种运算。

  • 相关阅读:
    mate框架
    【CXF】Apache CXF 简介
    Flex 自定义DataGrid控件
    MYSQL远程登录权限设置
    不要像小贝那样学习C++
    tablesorter,jquery
    Linux系统搭建RabbitMQ
    loadView viewDidLoad viewWillAppear viewWillAppear
    得到图片中的某一部分
    addSubview和insertSubview的区别
  • 原文地址:https://www.cnblogs.com/xjmm/p/11543611.html
Copyright © 2020-2023  润新知