注意点
- switch的条件表达式注意点
- switch的条件表达式必须是返回整数的表达式,也就是说()中只能放整数或者写能够转换为整数的类型也可以,例如char,因为char类型可以转换为int类型,本质上就是ISC码值。
- case的取值
- switch中,case后面只能放返回值是整数的表达式或者整数,或者能够转换为证书的类型。
- case的取值不能重复。
- case后面不能放变量,因为系统在编译的时候会对switch后面所有的case进行优化,会根据case后面的常量值,生成一张取值表。
- default的位置问题
- switch中的default可以随便放。
- 无论default放在什么地方,它都会最后执行(只有前面所有的case都不满足的情况下才会执行。)
- 如果default放在最后面的话,break就可以省略,否则都不能省略。因为break会跳出switch,}也会跳出。
- 只要某一个case满足,那么后面所有的case和default都会失效。
- 同理:只要default满足,那么所有的case都会失效。(如果default放在最上面,而default的条件又满足了,那么就会出现穿透效果。)
- 什么时候用switch,什么时候用if
- 在开发中一般情况下用if,if标胶灵活。
- 如果说是对一些固定的值进行判断,并且这些值的数量不多的情况,可以使用switch。
- 从理论上来说,switch的性能效率比if高。
网友评论