switch分支
switch
也是匹配条件去执行分支, 适合做值匹配的分支选择,结构清晰,格式良好
switch(表达式){ case 值1: 执行代码...; break; case 值2: 执行代码...; break; … case 值n-1: 执行代码...; break; default: 执行代码n; }
执行流程:
① 先执行表达式的值,拿着这个值去与case后的值进行匹配。
② 匹配哪个case的值为true就执行哪个case,遇到break就跳出switch分支。
③ 如果case后的值都不匹配则执行default代码。
switch分支注意事项
① 表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。
② case给出的值不允许重复,且只能是字面量,不能是变量
③ 不要忘记写break,否则会出现穿透现
switch的穿透性
如果代码执行到没有写break的case块,执行完后将直接进入下一个case块执行代码(而且不会进行任何匹配),直到遇到break才跳出分支,这就是switch的穿透性。