if语句,if...else if语句和switch...case语句的区别和分析

if语句,if else if语句和switch case语句都属于流程控制语句。索引

  在只须要判断一个条件的时候,天然是使用if语句方便有效;可是当判断条件不少的时候,咱们可使用多个if语句或者if...else if语句或者switch case语句。it

对于这三者的选择,下面将作一些具体分析;对于后二者的选择,又将涉及到程序执行效率的问题。效率

  if...else if语句和多个if语句的区别仍是很大的,if...else if在任何一个环节知足条件的时候就将会终止判断,只处理一个知足条件的状况;而对于多个if语句,变量

将会对每个判断条件进行判断,天然而然会致使程序的执行效率下降。在多个判断条件的状况下,使用if...else if语句相对于使用多个if语句而言,能够减小程序遍历

的判断次数,提升效率。程序

  在多个判断条件的状况下,不只可使用if...else if语句,还可使用switch case语句。通常状况下,当判断条件较多的状况下,使用switch case语句的cas

效率会高于使用if...else if语句。switch...case与if...else if的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳 转表的生成

索引号与switch变量的值是相等的。从而,switch...case不用像if...else if那样遍历条件分支直到命中条件,而只需访问对应 索引号的表项从而到达定位分支的目的。分支

因此从效率上来讲因为if...else if的遍历性,代码执行效率是不高的。