4.2.5 流程控制语句

4.2.5 流程控制语句

在编程中,经常会遇到需要计算机做出判断再决定是否继续执行、如何继续执行的情况,或是一些更加复杂的非线性运算流程,此时就需要使用流程控制语句实现。

C#中的流程控制语句与其他计算机语言基本相同,主要包括选择结构、循环结构。选择结构用if系列语句、switch语句实现,循环结构用while系列语句、for语句、foreach语句实现。下面分别讲解。

1.选择结构语句

选择结构语句包括if、if…else、if…else if…else、switch语句。由于三种形式的if语句原理基本相似,此处主要介绍if…else和switch语句。

(1)if…else语句

if…else语句用于实现二选一的流程控制,其语法格式如下:

当表达式运算结果为true时,执行语句块1,否则,执行语句块2。例如以下代码块的执行结果为输出“继续前行!”。

(2)switch语句

switch语句是多分支条件判断语句,其根据判断参数的值决定程序执行哪一组分支语句。语法格式如下:

判断参数必须为整数、字符、字符串、布尔型、枚举类型中的一种;每个case关键字后的常量值各不相同,当与判断参数相等时,则执行相应的分支语句块,并执行break语句跳出switch结构;如果case后的常量值都不匹配,则执行default关键字后的语句块和break语句。

2.循环结构语句

循环结构语句包括while、do…while、for三种语句,这里主要介绍while和for语句。

(1)while循环

while语句用于实现“当……”型循环结构,其语法格式如下:

while关键字后括号内的表达式通常是一个关系表达式或逻辑表达式,运算结果为true或false。运行规则为:首先计算表达式的值,若为true,则执行大括号内的语句块,直到表达式的值为false,则跳出循环结构。例如:

以上代码在Unity编辑器中Console(控制台)的输出结果如图4.6所示。

(2)for循环

for循环是C#中最常用、最灵活的一种循环语句,既能用于已知循环次数的情况,也能用于未知循环次数的情况。其语法格式如下:

图4.6 Console中的输出结果

for循环的执行过程为:首先计算表达式1;其次计算表达式2(表达式2通常为条件表达式),若表达式2的值为true,则执行循环体内的语句组;执行表达式3;求解表达式2,若为true,继续执行循环体语句组;以此类推,直到表达式2的值为false,则不再执行循环语句组,跳出for循环结构。