05--C#流程控制

前面讲到的都是顺序结构,顺序结构的意思就是程序从main函数进入,从上到下一行一行的执行,不会落下任何一行,这章的内容就会讲到流程控制相关的几个结构:分支结构、选择结构、循环结构;

分支结构:if if-else 三元表达式

选择结构: if else if switch-case

循环结构:for whie do-while foreach

分支结构

if语句:

语法:

if(判断条件)

{

        要执行的代码:

}

判断条件:一般为关系表达式或者bool类型的值

执行过程:程序运行到if处,首先判断if后小括号中的判断条件,若条件成立,则运行要执行的代码;若不成立,则跳过if结构,继续向下执行;

if结构的特点:先判断,后执行,有可能一行代码都不执行

if-else 语句:

语法:

if(判断条件)

{

        执行代码1;

}

else

{

        执行代码2;

}

执行过程:程序执行到if处,首先判断if后的判断条件是否为true,为true则执行代码1; 为false,则执行代码2;执行完成后,跳出if-else 结构

选择结构

if else-if 语句

作用:用来处理多条件的区间性的判断,所以被分为选择条件结构

语法:

if(判断条件1)

{

        执行代码1;

 }

else if(判断条件2)

{

        执行代码2;

}

.....

else

{

         执行代码n;

}

执行过程:程序首先判断第一个if括号好的判断条件1,若为true,则执行代码1,执行完成后,跳出整个if else if 结构; 若为false,则继续向下判断,依次的判断每一个if判断的条件,如果都为false,则看是否有else(else是可以省略的),若有else,则执行else后的代码n,若无else,则直接退出结构什么都不做;

switch  case 语句:

用来处理多条件的定值判断

语法:

switch (变量或者表达式的值)

{

        case 值:要执行的代码;

        break;

        case 值:要执行的代码;

        break;

        ...........

        default:要执行的代码;

        break;

}

执行过程:程序执行到switch处,首先将括号中变量或者表达式的值计算出来,然后拿着这个值依次跟每个case后面所带的值进行匹配,一旦匹配成功,则执行case后的代码,执行完成后,遇break则退出switch case结构;若没有匹配成功,则进入default 执行后面的代码,若没有default,则该结构什么都不做;

对于多个定值都需要同样的代码处理时,代码可以写为:

switch(变量或者表达式的值)

{

        case 值1:

        case 值2:

        case 值3: 要执行的代码;

        break;

        case 值4:

        case 值5:要执行的代码;

        break;

        default: 要执行的代码;

        break;      

}

循环结构

while 循环

语法:

while(循环条件)

{

        循环体;        

}

执行过程:程序运行到while处,首先判断while后的循环条件是否为true,若为true,则执行while的循环体,执行完后,继续判断while后的循环条件,若依然为true,这继续执行循环体,若为false,则跳出while循环; 有可能一遍循环都不执行;

从执行过程来看,写循环一定要赋予其可以推出循环的条件,否则循环条件一直为true,那么循环就会一直循环,也就是死循环,写代码应避免死循环的可能性; 

do while 循环

语法:

do

{

        循环体;

}while(循环条件);

执行过程:程序首先会执行do中的循环体,执行完成后,去判断do-while循环条件,如果成立,则继续执行do中的循环体,如果不成立,则跳出do-while循环。

特点:先循环,再判断,最少执行一遍循环体。

for循环

语法:

for(表达式1;表达式2;表达式3)

{

        循环体;

}

表达式1--一般为声明循环变量,记录循环的次数(int i=0)

表达式2--一般为循环条件(i<10)

表达式3--一般为改变循环条件的代码,使循环条件终有一天不再成立(i++)

执行过程:程序首先执行表达式1,声明了一个循环变量用来记录循环的次数,然后执行表达式2,判断循环条件是否成立,如果表达式2返回的结果为true,则执行循环体,当执行完循环体吼,执行表达式3,然后执行表达式2继续判断循环条件是否成立,如果成立则继续执行循环体,如果不成立,则跳出for循环。

已知循环次数的一般用for循环

三元表达式

语法:表达式1?表达式2:表达式3;

表达式1一般为一个关系表达式

如果表达式1的值为true,那么表达式2的值就是整个三元表达式的值;

如果表达式1的值为false,那么表达式3的值就是整个三元表达式的值;

注意:表达式2的结果类型必须跟表达式3的结果类型一致,并且也要跟整个三元表达式的结果类型一致。

凡是能用if-else能做的事基本都可以用三元表达式来做

break 关键字:

1)可以跳出switch-case结构;

2)可以跳出当前循环结构,也只能跳出当前循环结构;

一般break配合if来使用,满足特定的条件以后break;

continue关键字:

 continue关键字: 立即结束本次循环(不再执行continue以后的语句),判断循环条件,如果成立,则进入下一次循环,否则退出循环;

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值