选择结构

112 阅读1分钟

switch

语句格式:
switch(表达式) { 
	case 常量值1: 
    	语句体1; 
    	break; 
    case 常量值2: 
    	语句体2; 
    	break; 
    ... 
    default: 
    	语句体n+1; 
    	break; 
 }

执行流程

  • 首先计算出表达式的值
  • 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
  • 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。default后的break可以省略,但强烈建议不要省略 注意事项:
  • 多个case后面的值不可以重复;
  • switch后面小括号中只能跟以下数据类型:
    • 基本数据类型:byte,short,int,char
    • 引用数据类型:enum(枚举),JDK7后可以接收String字符串
  • switch语句格式可以很灵活:前后顺序可以颠倒,break可以省略; “匹配哪一个case就从哪一个位置开始向下执行,直到遇到break或程序结束为止。”

case的穿透性

在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,或者整体switch结束。