[JAVA] 열거 타입

이현경·2021년 4월 15일
0

JAVA

목록 보기
20/77

열거형 자료형에서 사용할 수 있는 메서드
name() : 문자열 값으로 받아오는 메서드
ordinal() : 열거 상수의 숫자를 가져오는 메서드
compareTo() : 비교하는 값이 앞뒤로 얼마나 멀리 있는지
valueOf() : 해당 문자열이 열거형에 있는지 확인하여 상수를 가져옴
values() : 열거 상수를 모두 가져옴


public enum Week {	// 열거타입으로 선언
	MONDAY,		// 열거 상수
	TUESDAY,
	WEDNESDAY,
	THURSDAY,
	FRIDAY,
	SATURDAY,
	SUNDAY
}
import java.util.Calendar;

public class Ex10 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		int i = 10;
		double d = 10.5;
		Week today;
		today = Week.FRIDAY;
		System.out.println(today);
		
		System.out.println("");
		
		// 오늘 날짜 저장
		Calendar cal = Calendar.getInstance();
		
		// 요일을 받아옴
		int week = cal.get(Calendar.DAY_OF_WEEK);
		System.out.println("요일 출력 : " + week);	// 요일 출력 : 5
		
		switch(week) {
		case 1: today = Week.SUNDAY; break;
		case 2: today = Week.MONDAY; break;
		case 3: today = Week.TUESDAY; break;
		case 4: today = Week.WEDNESDAY; break;
		case 5: today = Week.THURSDAY; break;
		case 6: today = Week.FRIDAY; break;
		case 7: today = Week.SATURDAY; break;
		}
		System.out.println(today);	// THURSDAY
		
		System.out.println("");
	}

}

public class Ex11 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// 열거형 자료형에서 사용할 수 있는 메서드
		// name() : 문자열 값으로 받아오는 메서드
		// ordinal() : 열거 상수의 숫자를 가져오는 메서드
		// compareTo() : 비교하는 값이 앞뒤로 얼마나 멀리 있는지
		// valueOf() : 해당 문자열이 열거형에 있는지 확인하여 상수를 가져옴
		// values() : 열거 상수를 모두 가져옴
		
		Week today = Week.SUNDAY;
		System.out.println(today);
		String name = today.name();	// 열거형이 문자열 값으로 바뀜
		System.out.println(name);
		
		// 열거형을 열거 상수의 숫자로 바꾸기
		int ordinal = today.ordinal();
		System.out.println(ordinal);	// 6
		
		// compareTo
		Week day1 = Week.MONDAY;
		Week day2 = Week.WEDNESDAY;
		//            0               2
		int result = day1.compareTo(day2);
		System.out.println(result);	// -2
		//        2              0
		result = day2.compareTo(day1);
		System.out.println(result);	// 2
		
		String day = "THURSDAY";
		Week weekDay = Week.valueOf(day);
		System.out.println(weekDay);
		
		/*day = "THURS";
		weekDay = Week.valueOf(day);
		System.out.println(weekDay);*/	// error
		
		// values
		Week day3 = Week.FRIDAY;
		Week [] days = Week.values();
		for(Week wk : days) {
			System.out.println(wk);
		}
	}

}
profile
25. 컴퓨터학과 졸업 / SQLD, 정보처리기사 취득

0개의 댓글