语法结构:
switch (表达式) {
case 值1: 语句序列1; [break]; case 值2: 语句序列2; [break]; … … … … … [default: 默认语句;] } |
根据表达式值的不同可以执行许多不同的操作。switch语句中case标签在JDK1.5之前必须是整数(long类型除外)或者枚举,不能是字符串,在JDK1.7之后允许使用字符串(String)。 switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果表达式的值与任一case值不匹配,则进入default语句(如果存在default语句的情况)。
大家要注意,当布尔表达式是等值判断的情况,可以使用if-else if-else多选择结构或者switch结构,如果布尔表达式区间判断的情况,则只能使用if-else if-else多选择结构。
switch多选择结构的流程图如图所示。
int month=(int)(12*Math.random()+1); System.out.println("月份是:"+month+"月"); switch(month){ case 1: System.out.println("我是一月!"); break; case 2: System.out.println("我是二月!"); break; default: System.out.println("我是其他月!"); break; } System.out.println("==========================="); char ch='a'; char sh=(char)(ch+(int)(26*Math.random())); switch(sh){ case 'a': case 'e': case 'i': case 'o': case 'u': System.out.println(sh+"是元音"); break; case 'y': case 'w': System.out.println(sh+"半元音"); break; default: System.out.println(sh+"是辅音"); }