您的位置:首页 > 编程语言 > C#

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代码如下:

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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 C# 嵌套