程序控制流

程序控制流英文叫:Flow of Control

我们开发一个程序,其实大部分逻辑都是放在方法里面的,其他一部分逻辑会再属性,运算符等其他函数成员中。


控制流分类

所谓控制流(flow of control) 指程序代码的执行走向。

默认情况下,程序从上至下顺序执行每条语句。

而流程控制语句可以改变代码执行顺序。

控制语句有很多,我们在后面的课程会详细学习,本节课先来一个开胃菜,让大家初步认识一下控制流。

C#有三大主要的控制流:

顺序执行是基础,三类控制流分别实现分支、循环、跳转逻辑;

  1. 选择语句(Selection statements)
  2. 迭代语句(Iteration statements 循环)
  3. 跳转语句(Jump statements)

每种语句下面又分多种不同的写法:


选择语句

主要的目的是:根据一些条件,进行选择性执行某些语句,跳过不执行某些语句。

  • if 条件成立时执行某部分代码
  • if–else 二选一执行
  • switch 多分支匹配,从一组代码中选择其一执行

迭代语句

主要目的是:满足条件就重复执行一段代码

  • for 先判断条件再执行循环
  • while 先判断条件再执行循环
  • do while 先执行代码再判断条件
  • foreach 遍历集合内每一个元素,自动执行一次

跳转语句

  • break 直接退出当前循环
  • continue 跳出本次循环,不执行后面的代码,跳至循环末尾,开启下一轮循环
  • goto 跳转到标记命名语句
  • return 终止当前方法,回到调用处

以上读者可以先知道一下就可以,后续会详细学习


class Program
{
    static void Main()
    {

        int age = 18;
        if (age >= 18) //条件满足就执行if语句块中的代码
        {
            Console.WriteLine("你已经成年了");
        }

        int score = 85;
        if (score >= 90) //多次判断
        {
            Console.WriteLine("优秀");
        }
        else if (score >= 80) //不满足上面的条件 就判断这个条件
        {
            Console.WriteLine("良好");
        }
        else if (score >= 70) //不满足上面的两个条件 就判断这个条件
        {
            Console.WriteLine("中等");
        }
        else if (score >= 60) //不满足上面的三个条件 就判断这个条件
        {
            Console.WriteLine("及格");
        }
        else //上面所有条件都不满足 就执行else语句块中的代码 相当于兜底
        {
            Console.WriteLine("不及格");
        }

        //for循环语句 i从0开始循环,当i小于10时,执行循环体内的代码,每次循环结束后i自增1
        for (int i = 0; i < 10; i++)
        {
            Console.WriteLine(i);
        }

        int sum = 0;
        while (sum < 100) //当sum小于100时,执行循环体内的代码
        {
            sum += 10; //每次循环结束后sum自增10
            Console.WriteLine(sum);
        }

        int count = 5;
        do
        {
            Console.WriteLine("这句代码总是会执行一次");
            count++; //每次循环结束后count自增1
        } while (count<5); //就算条件不成立 ,循环体内的代码也会执行一次

        int[] scores = { 90, 80, 70, 60, 50 }; //定义了一个数组 里面有5个元素
        foreach (var item in scores) //遍历数组里面的元素,读取一个放到item中,然后执行循环体内的代码,直到遍历完所有元素,每次读取到下一个就放到item中
        {
            Console.WriteLine(item);
        }

    }
}
Code language: JavaScript (javascript)

以上代码读者可以自行拷贝到VS中执行,后续课程会逐一详细学习每个语句。

Previous:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注