第四章 流程控制(2)
分支
分支是控制下一步要执行哪些代码的过程.要跳转的代码行由某个条件语句来控制.
本章介绍3种分支技术:
- 三元运算符
- if语句
- switch语句
1,三元运算符(有结果,要在赋值语句中使用)
其语法如下:<test>?<resultIfTrue>:<resultIfFalse>
其中计算test可以得到一个布尔值,运算符的结果根据这个值来确定是两者中的哪一个.
示例:
string resultString=(myInteger<10)?"Less Than 10":"Greater than or equal to 10";
2,if语句(没有结果,使用该语句是为了有条件的执行其他语句.)
if...else语句语法:
if(<test>)
{
<code executed if <test> is true>;
}
else
{
<code executed if <test> is false>;
}
3,switch语句
switch语句非常类似于if语句因为它是根据测试的值来有条件的执行代码.但是switch语句可以一次将测试变量与多个值进行比较,而不是仅测试一个条件.
用break语句中断swich语句的执行,而执行该结构后边的语句.
switch语句的语法:
switch(<testVar>)
{
case <comparisonVar1>:
<code to execute if <testVar>==<comparisonVar1>>
break;
case <comparisonVar2>:
<code to execute if <testVar>==<comparisonVar2>>
break;
...
case <comparisonVarN>:
<code to execute if <testVar>==<comparisonVarN>>
break;
default:
<code to execute if<testVar>!=<comparisonVarX>>
break;
}
<testVar>中的值与每个<comparisonVarX>(在case语句中指定)进行比较,如果有一个匹配就执行该case语句.
*常量的定义...const
例:const int intTwo=2;
4,循环
循环就是重复执行一些语句.
(1)do循环
执行标记为循环的代码,然后进行一个布尔测试,如果测试的结果为true,就再次执行这段代码.结果为false,就退出循环.
do循环结构:
do
{
<code to be looped>
}while(<test>);
其中计算<test>会得到一个布尔值
*while语句后面的分号是必须有的.
(2)while循环
while循环非常类似于do循环,但有一个重要区别:while循环中的布尔测试是在循环开始进行,而不是最后.
如果测试结果为false,就不会执行循环.
while循环结构:
while(<test>)
{
<code to be looped>
}
(3)for循环
for循环可以执行指定的次数,for循环需要的信息:
- 初始化计数器变量的一个起始值
- 继续循环的条件,它应涉及到计数器变量.
- 在每次循环的最后对计数器变量执行一个操作.
for循环的结构如下:
for(<initialization>;<condition>;<operation>)
{
<code to loop>
}
(4)循环的中断
有时在循环代码上有更精细的控制.C#为此提供了4个命令:
- break--立即中止循环.继续循环后面的代码.
- continue--立即中止当前循环(继续执行下一次循环).
- goto--可以跳出循环,到已标记好的位置上.(最好不要使用)
- reture--跳出循环及其包含的函数