Java枚举是一个特殊的类,一般表示一组常量。每个常量用逗号隔开。
1、枚举的定义
例如:定义一个星期的枚举:(枚举中的个量都是常量因此用大写字母)
枚举:
public enum Week {
SUN,MON,TUES,WED,THUR,FRI,SAT
}
测试代码:
public class Test {
public static void main(String[] args) {
Week w1=Week.SUN;
Week w2=Week.MON;
Week w3=Week.TUES;
Week w4=Week.WED;
Week w5=Week.THUR;
Week w6=Week.FRI;
Week w7=Week.SAT;
System.out.println(w1+"\n"+w2+"\n"+w3+"\n"
+w4+"\n"+w5+"\n"+w6);
}
}
运行结果
2、内部类中使用枚举
public class Test2 {
enum Week{
SUN,MON,TUES,WED,THUR,FRI,SAT
}
public static void main(String[] args) {
Week w1=Week.SUN;
Week w2=Week.MON;
Week w3=Week.TUES;
Week w4=Week.WED;
Week w5=Week.THUR;
Week w6=Week.FRI;
Week w7=Week.SAT;
System.out.println(w1+"\n"+w2+"\n"+w3+"\n"
+w4+"\n"+w5+"\n"+w6);
}
}
运行结果:
SUN
MON
TUES
WED
THUR
FRI
每个枚举都是通过class在内部类实现的,且所有的枚举都是公共静态常量。
2、枚举的迭代
使用增强for迭代:
public class Test2 {
enum Week{
SUN,MON,TUES,WED,THUR,FRI,SAT
}
public static void main(String[] args) {
for (Week week:Week.values()){//增强for
System.out.println(week);
}
}
}
运行结果:
SUN
MON
TUES
WED
THUR
FRI
SAT
3、switch中应用枚举
import java.util.Scanner;
public class Test2 {
enum Week{
SUN,MON,TUES,WED,THUR,FRI,SAT
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("请输入你喜欢的日期:");
String s=input.next();
Week w=Week.valueOf(s);
switch (w){
case SUN:
System.out.println("你喜欢星期日");
break;
case MON:
System.out.println("你喜欢星期一");
break;
case TUES:
System.out.println("你喜欢星期二");
break;
case WED:
System.out.println("你喜欢星期三");
break;
case THUR:
System.out.println("你喜欢星期四");
break;
case FRI:
System.out.println("你喜欢星期五");
break;
case SAT:
System.out.println("你喜欢星期六");
break;
}
}
}
运行结果:
请输入你喜欢的日期:WED
你喜欢星期三
因篇幅问题不能全部显示,请点此查看更多更全内容
怀疑对方AI换脸可以让对方摁鼻子 真人摁下去鼻子会变形
女子野生动物园下车狼悄悄靠近 后车司机按喇叭提醒
睡前玩8分钟手机身体兴奋1小时 还可能让你“变丑”
惊蛰为啥吃梨?倒春寒来不来就看惊蛰
男子高速犯困开智能驾驶出事故 60万刚买的奔驰严重损毁