1.switch和case都必须是整型
2.case必须常量
3.记得使用break语句
4.多个case标签可以重叠
-
if语句的功能完全覆盖了switch…case,所以switch语句的语法是冗余的
(可以认为switch…case内部其实就是用if…else实现的) -
switch语句只适用“有限个选项”的应用场景
不适用于区间如 x>1 && x<5 (离散)
也不适用于选项太多的情形,例如从1到100共100个选项 -
if语句在形式上是对每个else if逐个比较
switch…case的形式上是不经过比较,直接跳转
(当然,实质上内部还是要比较的)