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

当我们有一个判断条件的时候,显然用if语句比较方便有效。但当判断条件很多的时候,我们可以使用if语句或者if....eles 语句和switch  case 语句。

if...else if语句和多个if语句的区别还是很大的,if...else if在任何一个环节满足条件的时候就将会终止判断,只处理一个满足条件的情况;而对于多个if语句,将会对每一个判断条件进行判断,自然而然会导致程序的执行效率降低。在多个判断条件的情况下,使用if...else if语句相对于使用多个if语句而言,可以减少程序的判断次数,提高效率。

if语句的格式:

  if(比较表达式1) {

     语句体1;

  }else if(比较表达式2) {

     语句体2;

  }else if(比较表达式3) {

     语句体3;

  }

     ...

  else {

    语句体n+1;

  }

执行流程:

  首先计算比较表达式1看其返回值是true还是false,

  如果是true,就执行语句体1,if语句结束。

  如果是false,接着计算比较表达式2看其返回值是true还是false,

  如果是true,就执行语句体2,if语句结束。

  如果是false,接着计算比较表达式3看其返回值是true还是false,

  如果都是false,就执行语句体n+1。

在多个判断条件的情况下,不仅可以使用if...else if语句,还可以使用switch case语句。一般情况下,当判断条件较多的情况下,使用switch case语句的效率会高于使用if...else if语句。switch...case与if...else if的根本区别在于,switch...case会根据你的条件直接跳转到相应的case语句那。switch...case不用像if...else if那样遍历条件分支直到命中条件,而只需访问对应索引项从而到达目的语句那。

总结switch语句和if语句的各自使用场景

  switch建议判断固定值的时候用

  if建议判断区间或范围的时候用    

 用switch能做的,用if都能做,单反过来则不行

猜你喜欢

转载自blog.csdn.net/zhanduo0118/article/details/84437270
今日推荐