zoukankan      html  css  js  c++  java
  • java35

    1. 小项目:判断今天是否是休息日
    代码一:
    class Student{
    	private int weekday;
    
    	public int getWeekday() {
    		return weekday;
    	}
    
    	public void setWeekday(int weekday) {
    		this.weekday = weekday;
    	}
    }
    public class 枚举 {
    public static void main(String[] args) {
    	Student s = new Student();
    	s.setWeekday(1);
    	int res = s.getWeekday();
    	if(res == 6 || res == 7) 
    		System.out.println("Today is holiday !");
    	else 
    		System.out.println("workday");
    }
    }
    缺点:当输入8时,仍然判断为工作日,与实际逻辑不符
                而且只是输入数字不知道周几
    
    代码二
    class Weekday{
    	static final int MONDAY = 1;
    	static final int TUESDAY = 2;
    	static final int WENDESDAY = 3;
    	static final int THURSDAY = 4;
    	static final int FRIDAY = 5;
    	static final int SATURDAY = 6;
    	static final int SUNDAY = 7;
    }
    class Student{
    	private int weekday;
    
    	public int getWeekday() {
    		return weekday;
    	}
    
    	public void setWeekday(int weekday) {
    		this.weekday = weekday;
    	}
    }
    public class 枚举 {
    public static void main(String[] args) {
    	Student s = new Student();
    	s.setWeekday(Weekday.SATURDAY);
    	int res = s.getWeekday();
    	if(res == 6 || res == 7) 
    		System.out.println("Today is holiday !");
    	else 
    		System.out.println("workday");
    }
    }
    优点:将数字7和周日相联系起来
    缺点:输入数字时,不论是7还是8,仍然可以输出,不符合逻辑,不安全
    
    代码三
    class Weekday{
    	static final Weekday MONDAY = new Weekday();//;类类型(引用数据类型),需要创建对象
    	static final Weekday TUESDAY = new Weekday();
    	static final Weekday WENDESDAY = new Weekday();
    	static final Weekday THURSDAY = new Weekday();
    	static final Weekday FRIDAY = new Weekday();
    	static final Weekday SATURDAY = new Weekday();
    	static final Weekday SUNDAY = new Weekday();
    }
    class Student{
    //注意:当weekday 类型变了的时候,下面的getset方法都要变
    	private Weekday weekday;
    
    	public Weekday getWeekday() {
    		return weekday;
    	}
    
    	public void setWeekday(Weekday weekday) {
    		this.weekday = weekday;
    	}
    }
    public class 枚举 {
    public static void main(String[] args) {
    	Student s = new Student();
    	s.setWeekday(Weekday.FRIDAY);
    	Weekday res = s.getWeekday();
    	if(res == Weekday.SATURDAY || res == Weekday.SUNDAY) {
    		System.out.println("Today is holiday !");
    	}
    }
    }
    优点:即明确了传参数据的含义,又符合逻辑(无法输入数字)
    

    3.枚举:表示一个事物的固定状态

    修饰符 enum 枚举名称{
          常量1,2,3
    }
    

    4.枚举相当于一个特殊的类,默认继承了Enum
    Enum是底层封装了许多功能的一个类
    5.枚举不能直接创建对象,因为它把构造器私有化了
    6.打印枚举

    enum Sex{
    	MAN,WOMAN;
    }
    
    public class 枚举 {
    public static void main(String[] args) {
    	System.out.println(Sex.MAN);
    	System.out.println(Sex.MAN.name());
    	System.out.println(Sex.MAN.ordinal());//该常量在类中的位置
            switch(Sex.WOMAN) {
    		case WOMAN: break;
    	}
    //将字符串转换成枚举类型
    	Sex s =Sex.valueOf("MAN");//此字符串必须是枚举里的某个常量
    	System.out.println(s);
    	System.out.println("---------");
    	Sex[ ] x = Sex.values();//输出枚举中的所有常量
    	for (Sex sex : x) {
    		System.out.println(sex);
    }
    }
    
    【MAN
    MAN
    0
    MAN
    ---------
    MAN
    WOMAN
    】
    
  • 相关阅读:
    模块总结
    安装python包时出现VC++ 错误的解决方案
    Android之drawable state各个属性详解
    【Android 复习】:第01期:引导界面(一)ViewPager介绍和使用详解
    Android 应用页面延缓载入
    Android系统手机端抓包方法
    【Android 复习】:Android之ViewFlipper(二)
    【Android 复习】:Android之ViewFlipper(一)
    【Android 复习】:Android五种布局的使用方法
    【Android 复习】:从Activity中返回数据
  • 原文地址:https://www.cnblogs.com/-zero/p/10404968.html
Copyright © 2011-2022 走看看