Jam's story

열거 본문

자바

열거

애플쩀 2022. 1. 2. 16:32

한정된 값만을 갖는 데이터 타입이 열거타입이다. 

열거타입은 몇개의 열거 상수 중에서 하나의 상수를 저장하는 데이터 타입이다. 

 

선언방법
public enum 열거타입이름 {}

관례적으로는 모두 대문자로 쓴다. 

package smhrd;

import java.util.Calendar;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Week today=null;
		Calendar cal=Calendar.getInstance();
		int week =cal.get(Calendar.DAY_OF_WEEK);
		switch(week) {
		case 1:
			today=Week.SUNDAY; break;
		case 2:
			today=Week.TUESDAY; break;
		case 3:
			today=Week.WEDNESDAY; break;
		case 4:
			today=Week.THURSDAY; break;
		case 5:
			today=Week.FRIDAY; break;
		case 6:
			today=Week.SATURDAY; break;
		}
		
		System.out.println("오늘 요일"+today);
		if(today == Week.SUNDAY) {
			System.out.println("오늘은일요일 ");
		}else {
			System.out.println("열심히 자바 공부 ");
		}
	}

}
name() 열거 객체가 가지고 있는 문자열을 리턴 
ordinal() 순번을 알아냄
compareTo() 순번을 비교해서 상대적인 위치를 알아냄 음수면 더 빠른것
valueOf() 매개값으로 주어지는 문자열과 동일한 문자열을 가지는 열거 객체 리턴
values() 모든 열거 객체들을 배열로 만들어서 리턴 
package smhrd;

import java.util.Calendar;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Week today= Week.SUNDAY;
		String name=today.name();
		System.out.println(name);
		
		int ordinal=today.ordinal();
		System.out.println(ordinal);
		
		Week day1=Week.MONDAY;
		Week day2=Week.TUESDAY;
		System.out.println(day1.compareTo(day2));
		
		if(args.length==1) {
			String strDay= args[0];
			Week weekDay=Week.valueOf(strDay);
			if(weekDay==Week.SATURDAY || weekDay==Week.SUNDAY) {
				System.out.println("주말이군요");
				
			}else {
				System.out.println("평일이군요 ");
			}
			
		Week[] days=Week.values();
		for(Week i: days) {
			System.out.println(i);
		}
		}
	}

}

'자바' 카테고리의 다른 글

클래스  (0) 2022.01.05
chap5 연습문제  (0) 2022.01.03
향상된 for문  (0) 2022.01.02
다차원배열  (0) 2022.01.01
배열  (0) 2022.01.01
Comments