Jam's story
열거 본문
한정된 값만을 갖는 데이터 타입이 열거타입이다.
열거타입은 몇개의 열거 상수 중에서 하나의 상수를 저장하는 데이터 타입이다.
선언방법
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);
}
}
}
}