是通过比较值来决定执行那条分支。
①先执行表达式的值,再拿着这个值去与case后的值进行匹配。
②与那个case后的值匹配为true就执行那个case块的代码,遇到break就跳出switch分支。
③如果全部case后的值与之匹配都是false,则执行default块的代码。



1.if在功能上远远大于switch
2.当前条件是区间的时候,应该使用if语句结构
3.当条件是一个一个的值比较的时候,switch语句更合适:格式良好,性能较好,代码优雅
①表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String,不支持double、float、long。
②case给出的值不允许重复,且只能是字面量,不能是变量。
③正常使用switch的时候,不要忘记写break,否则会出现穿透现象。
当存在多个case语句的代码相同时,可以把相同的代码放到一个case块中,其他的case块都通过穿透性穿透到该case块执行代码即可,这样可以简化代码。



