在进行程序控制时,使用switch的数据类型有所限制,其中case后面的条件也有一定的要求。结合枚举的方法后,switch的使用范围得到了扩大,在操作上也趋向于简洁化。下面我们就switch语法进行简单回顾,然后就在java枚举实例的使用展开分析,体验其用法的变化。
1.switch语法
switch(表达式){
case值1:
语句;
break;
case值2:
语句;
break;
.......
default:
语句;
}
case 值:case翻译过来就是情况、实例的意思,那么这句可以理解为当switch(表达式)的结果为case中的值时,则执行该case下的语句。
2.switch在枚举的实例
Java1.5新增enum关键字的同时,也扩大了switch的语句使用范围。Java1.5之前,switch中的值只能是简单数据类型,比如int、byte、short、char, 有了枚举类型之后,就可以使用枚举类的对象了。
同时在switch表达式中使用enum定义的枚举类的对象作为表达式时, case子句可以直接使用枚举对象的名字, 无需添加枚举类作为限定。这样一来,程序的控制选择就变得更加的方便,看下面的例子:
publicenumWeekDay{
//定义一周七天的枚举类型
Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday;
}
classTest{
publicstaticvoidgetDay(WeekDayweekDay){
switch(weekDay){
caseMonday:
System.out.println("TodayisMonday");
break;
caseTuesday:
System.out.println("TodayisTuesday");
break;
caseWednesday:
System.out.println("TodayisWednesday");
break;
caseThursday:
System.out.println("TodayisThursday");
break;
caseFriday:
System.out.println("TodayisFriday");
break;
caseSaturday:
System.out.println("TodayisSaturday");
break;
caseSunday:
System.out.println("TodayisSunday");
break;
default:
System.out.println("dataerror");
}
}
publicstaticvoidmain(String[]args){
WeekDaysunday=WeekDay.Sunday;
getDay(sunday);
WeekDayfriday=WeekDay.Friday;
getDay(friday);
}
}
运行结果:
对于这些枚举的日期,JVM都会在运行期构造成出一个简单的对象实例一一对应。这些对象都有唯一的identity,类似整型数值一样,switch语句就会根据此来identity进行执行跳转。
原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END


















































暂无评论内容