首页 > 代码库 > ASP.NET知识重新梳理(四)------关于流程控制语句

ASP.NET知识重新梳理(四)------关于流程控制语句

  学习C语言的时候,我们就已经学习过流程控制语句, 也就是顺序,条件,循环三种。在TIOBE编程语言排行榜单中前几位的流程控制语句貌似几乎相同,所以说一通百通嘛,

就是这个道理。

  一、顺序执行语句:顾名思义,按照顺序依次执行

  二、条件语句:

    1.if-else语句

       1、只包含if关键词,没有else的情况:

           if (expression)
               statement1

       2、包含if和else的分支的情况:

           if (expression)
               statement1;
            else
               statement2;

       3、包含多个else if语句的情况:

           if (expression1)
               statement1;
            else if(expression2)
               statement2;

            else if(expression3)

            statement2;

           ......

            else

            statement;

    2.switch-case语句(表示当年看c语言的时候用了一个上午看这个知识点才懂)

      switch (<testVar>)
      {
          case <comparisonVal1>:
                <如果<testVar>等于<comparisonVal1>时执行的语句>
                break;
          case <comparisonVal2>:
                <如果<testVar>等于<comparisonVal2>时执行的语句>
                break;
          ……
          case <comparisonValN>:
                <如果<testVar>等于<comparisonValN>时执行的语句>
                break;
          default:
                <如果没有与<testVar>匹配的<comparisonValX>时执行的语句>
                break;
      }

      当case中的值与switch后面圆括号中表达式的值相等时,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句,然后退出switch语句

        这个语句最让人困惑的就是

          case <comparisonVal1>:

          case <comparisonVal2>:

          case <comparisonVal3>:

                  <如果<testVar>等于以上三个值中任意一个时执行的语句>
                  break;

        这样的情况下,三个case公用一个执行语句。

 

  三、循环语句:

      1.do循环:执行标记为循环的代码,然后进行一个布尔测试,如果测试的结果为true,就再次执行这段代码,当测试结果为false时,就退出循环。

          do

          {

            <code to be looped>

          }while(<Test>)

      2.while循环:类似于do循环,与do循环不同的是,while循环中的布尔测试是在循环开始时进行,而不是最后。

          while(<Test>)

          {

            <code to be looped>

          }

      3.for循环:主要掌握的是for循环的流程  initialization->condition->满足条件->执行循环中的语句->operation->下一个循环;若不满足条件,则直接跳过循环中的语句。

          for(<initialization>;<condition>;<operation>)

          {

             <code to be loop>

 

          }

        在C#中,foreach语句十分受欢迎,foreach 语句为数组或对象集合中的每个元素执行一遍循环体

            foreach (type identifier in expression)
            {
                staterment
            }

        例如:foreach(var arr in arrs)

           {

             var++;

           }

          就起到了数组arrs中每个数加一的功能(这里的var关键词可替代任何类型,编译器会根据上下文来判断具体类型,学过javascript的人就应该很熟悉了),不用像for循环中还要计算数组的长度之类。

   四、中断语句

      1.break:立即终止循环

      2.continue:立即终止当前的循环(继续执行下一次循环)

      3.goto:可以立即跳出循环,到已标记好的位置上(好像起了c语言指针的作用,不过在java和c#这些安全的高级语言中,goto语句并不被推荐使用)

      4.return:跳出循环及包含的函数

    break与continue的话题是初学者一定会遇到的,跳出单次循环和跳出整个循环体理解了之后就不会再混淆了。goto语句如果你想研究一下的话也可以,但是不太推荐,我记得C++里面好像也有个goto语句,大概作用是一样的,但是用多了就会使程序晦涩难懂,甚至出现死循环的情况。而return语句,可能大家再熟悉不过了,刚开始学习c语言的函数时,int main()函数的最后一句总是return 0,而void main()函数中则不需要;后来我总结了函数(java和C#中叫做方法)的类型只要不是void类型,就必须有返回值,否则将会报错。

 

   本篇文章部分参考了http://blog.sina.com.cn/s/blog_4c83c6bf01000823.html中的内容