switch语句是单条件多分支的开关语句,语法格式如下:
switch(表达式){case常量值1:语句1;break;case常量值2:语句2;break;case常量值3:语句3;break;……case常量值n:语句n;break;default:语句n+1;}
switch语句中“表达式”的值可以是byte、short、int、char型,“常量值1”到“常量值n”也是byte、short、int、char型,而且要互不相同。
switch语句首先计算表达式的值,如果表达式的值和某个case后面的常量值相等,就执行该case里的语句直到碰到break语句为止。如果某个case中没有使用break语句,一旦表达式的值和该case后面的常量值相等,程序不仅执行该case里的语句,而且继续执行后继的case里的语句,直到碰到break语句为止。若switch语句中的表达式的值不与任何case的常量值相等,则执行default后面的语句。switch语句中的default是可选的,如果它不存在,并且switch语句中表达式的值不与任何case的常量值相等,那么switch语句就不会进行任何处理。
我们前面学习的if条件分支语句的共同特点是根据一个或多个条件选择执行一个分支操作,而不是选择执行多个分支操作。在switch语句中,通过合理地使用break语句,可以达到根据一个条件选择执行一个分支或多个分支操作的结果。
实例:
publicclassMain{publicstaticvoidmain(Stringargs[]){chargrade='B';switch(grade){case'A':System.out.println(优秀);break;case'B':System.out.println(良好);break;case'C':System.out.println(及格);break;default:System.out.println(未知);}}}
运行结果如下:
良好