switch结构中存在不少限制,存在这些限制的主要目的是提升多重分支结构的执行效率。所以,若是可以使用switch结构,就不要选择if结构。测试
不管是使用if结构,仍是使用switch结构,应该确保下面3个目标的基本实现:优化
准确表现事物内在的、固有的逻辑关系。不能为告终构而破坏事物的逻辑关系。设计
优化逻辑的执行效率。执行效率是程序设计的重要目标,不能为了省事而随意耗费资源。资源
简化代码的结构层次,使代码更方便阅读。字符串
相对来讲,下面几种状况更适合使用switch结构:it
枚举表达式的值。这种枚举是能够指望的、平行逻辑关系的。程序设计
表达式的值具备离散性,不具备线性的非连续的区间值。效率
表达式的值是固定的,不是动态变化的。程序
表达式的值是有限的,而不是无限的,通常状况下表达式应该比较少。数据
表达式的值通常为整数、字符串等类型的数据。
而if结构则更适合下面的一些状况:
具备复杂的逻辑关系。
表达式的值具备线性特征,如对连续的区间值进行判断。
表达式的值是动态的。
测试任意类型的数据。