C#_基础特性_if语句嵌套释疑
2012-03-03 20:54
459 查看
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代码的执行顺序是:
◆如果test1为true,那就执行代码1。执行完代码1后,执行代码3。
◆如果test1为false,那就跳转到代码2。执行完代码2后,执行代码3.
接下来是示例2代码如下:
示例2代码的执行顺序是:
◆如果test1为true,就执行代码1。执行完代码1后,跳到带有test2的if语句。
◆如果test1为false,那就跳到带有test2的if语句。
◆如果test2为true,那就跳转到代码2。执行完代码2后,直接执行代码4.
◆如果test2为false,那就跳转到else语句。执行完代码3后,执行代码4.
最后是示例3的代码如下:
示例3代码的执行顺序是:
◆如果test1为true,就执行代码1。执行完代码1后,直接执行代码4。
◆如果test1为false,那就跳到带有test2的else if语句。
◆如果test2为true,那就跳转到代码2。执行完代码2后,直接执行代码4.
◆如果test2为false,那就跳转到else语句。执行完代码3后,执行代码4.
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代码如下:
if(test1) { //代码1 } else { //代码2 } //代码3
示例1代码的执行顺序是:
◆如果test1为true,那就执行代码1。执行完代码1后,执行代码3。
◆如果test1为false,那就跳转到代码2。执行完代码2后,执行代码3.
接下来是示例2代码如下:
if(test1) { //代码1 } if(test2) { //代码2 } else { //代码3 } //代码4
示例2代码的执行顺序是:
◆如果test1为true,就执行代码1。执行完代码1后,跳到带有test2的if语句。
◆如果test1为false,那就跳到带有test2的if语句。
◆如果test2为true,那就跳转到代码2。执行完代码2后,直接执行代码4.
◆如果test2为false,那就跳转到else语句。执行完代码3后,执行代码4.
最后是示例3的代码如下:
if(test1) { //代码1 } else if(test2) { //代码2 } else { //代码3 } //代码4
示例3代码的执行顺序是:
◆如果test1为true,就执行代码1。执行完代码1后,直接执行代码4。
◆如果test1为false,那就跳到带有test2的else if语句。
◆如果test2为true,那就跳转到代码2。执行完代码2后,直接执行代码4.
◆如果test2为false,那就跳转到else语句。执行完代码3后,执行代码4.
相关文章推荐
- 5、C#基础整理(for 语句经典习题--与 if 的嵌套)
- C#基础总结之一变量常量-if嵌套语句-witch结构-类型转换
- C#基础-006if条件语句
- 4、C#基础整理(if语句经典习题)
- C#语言基础— switch case和if的嵌套练习
- GO语言基础-if语句特性
- Java基础---Java条件语句之嵌套if(二十)
- Java基础---Java条件语句之嵌套if(二十)
- C#基础回顾以及if语句
- 6、C#基础整理(for 语句经典习题--for循环嵌套、穷举)
- C#基础系列——Attribute特性使用
- C#基础—— check、lock、using语句归纳
- C#基础—— check、lock、using语句归纳
- C#条件语句、循环语句(if、while)
- 第一周《C语言及程序设计》实践项目24 if语句的嵌套
- C#基础学习——流程控制语句
- 语法分析——在之前基础上增加定义语句打印,定义语句判断,增加对if-else-then的条件语句的判断
- 黑马程序员 c#基础之break continue语句
- Linux基础之bash脚本编程进阶篇-选择执行语句(if,case)
- 有意思的python语言基础,变量,占位符,运算符,if语句(04)