if代码块的意思是:如果这个决策的判定结果为真,那就执行与if代码块相关联的大括号内的代码(若无大括号则是与if语句相邻的第一条语句),否则就转到if代码块后面的代码。

  else语句默认包含了其他的情况——若其他if语句经判定都不为true,那就要执行else语句块中的代码。

  而在if-else if-else嵌套语句中,一旦有一个布尔表达式计算为true时,对应的if或者else if的真条件语句就会被执行,然后控制流程会转移到跟随在整个的if-else if-else结构之后的第一条语句。

   上面的关于嵌套语句的说法有点绕,那我们来阐述一下if嵌套语句疑点:那就是如果if判定语句为true执行完if语句的代码块后,是否会执行与if语句对应的else语句的代码块?答案是否定的。接下来我用一个伪代码画的关于if语句嵌套的图,来帮助理解帮助。

   对与上图我们可以这么理解:只要四边形(即图中说的砵)中有一个判定语句为true,执行完对应的代码块后,那就跳出整个嵌套四边形,执行嵌套四边形之外的第一条语句。

以下是示例1代码如下:

 
  
  1. if(test1) 
  2. {  
  3.    //代码1  
  4. }  
  5. else 
  6. {  
  7.    //代码2  
  8. }  
  9. //代码3  

  示例1代码的执行顺序是:
◆如果test1为true,那就执行代码1。执行完代码1后,执行代码3
◆如果test1为false,那就跳转到代码2。执行完代码2后,执行代码3.

   接下来是示例2代码如下:

 
  
  1. if(test1)
  2. {   
  3.    //代码1      
  4. }   
  5. if(test2)
  6. {    
  7.    //代码2     
  8. }   
  9. else
  10. {      
  11.    //代码3      
  12. }   
  13. //代码4 

  示例2代码的执行顺序是:

◆如果test1为true,就执行代码1。执行完代码1后,跳到带有test2的if语句

◆如果test1为false,那就跳到带有test2的if语句。
◆如果test2为true,那就跳转到代码2。执行完代码2后,直接执行代码4.

◆如果test2为false,那就跳转到else语句。执行完代码3后,执行代码4.

   最后是示例3的代码如下:

 
  
  1. if(test1)
  2.    //代码1 
  3. else if(test2)
  4.        //代码2 
  5.      } 
  6.      else
  7.         //代码3 
  8.      } 
  9. //代码4 

 示例3代码的执行顺序是:

◆如果test1为true,就执行代码1。执行完代码1后,直接执行代码4

◆如果test1为false,那就跳到带有test2的else if语句。
◆如果test2为true,那就跳转到代码2。执行完代码2后,直接执行代码4.

◆如果test2为false,那就跳转到else语句。执行完代码3后,执行代码4.