【黑马程序员】1.C#基础之语句结构小结

来源:互联网 发布:pdf解锁软件 编辑:程序博客网 时间:2024/05/17 01:21

 ----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

 

C#中有三种语句结构:顺序结构、条件结构、循环结构。下面对这三种结构分别做一下总结。 

1、 顺序结构

顺序结构是这三种结构中最简单、最常用的结构,顾名思义,顺序结构就是每条语句自上而下一行一行的执行,不会遗漏任何一行语句。

:       inta=10,b=20;

            inttemp=a;

            a=b;

            b=temp;

            Console.WriteLine("a={0}\tb={1}",a,b);

            Console.ReadKey();

输出:

 

1、 条件结构

C#提供了if-elseswitch-case语句完成流程控制,实现条件判断。

(1)     if

基本语法:

        if(条件表达式)                                 if(条件表达式)

                  语句1;                                     {

                     语句2;                                        语句块1;

                     语句n;                                  }

                                                                  else

                                                                  {

                                                                       语句块2;

                                                                   }

执行过程:先判断条件表达式,若判断结果为true则执行语句块1;若为false则跳过语句块1,执行语句块2

说明:

1)      if后面括号中的条件表达式必须能经运算得到一个bool类型的值(truefalse)

2)      默认情况下,if后面只跟一条语句即和if有关系的语句只有语句1。若想让if带多条语句则用{ }把多个语句组成语句块。

(2)  switch-case

基本语法:

                           switch(表À¨ª达ä?式º?)

                           {

                            case值1:

                                   语句块1;

                                   break;

                            case值2:

                                   语句块2;

                                   break;

                            case值n:

                                   语句块n;

                                   break;

                            default:

                                   语句块m;

                                   break;

                     } 

执行过程:首先计算表达式(或变量),然后根据计算结果与case后面的值进行匹配,如果匹配成功则执行匹配项后面带的语句块直到执行完break语句跳出switch-case结构;如果所有的case都不匹配,那么有default就执行default后面的语句直到break语句结束,如果没有default则跳出switch-case结构什么都不执行。

2、 循环结构

(1)     while循环

基本语法:

            while(循环条件)

            {

                            循环体;

            }

特点:先判断条件再决定是否执行循环体

执行过程:

1、 先判断循环条件,如果判断结果为true则转向2

2、 执行循环体,循环体执行完后转向1

3、 直到循环条件为false时跳出循环,循环结束。

注意:循环体中必须有使循环趋向于终止的表达式,如i++,i--等。

例:    inti=0,sum=0;

            while (i<=100)

            {

                sum+=i;

                i++;

            }

            Console.WriteLine("1~100之和为:{0}",sum);

 输出:

(2)     do-while循环

基本语法:

            do

            {

                       循环体;

            } while(循环条件);

特点:先执行一遍循环体再判断循环条件,也就是说,即使条件一开始就不成立,循环体也会执行一次。

执行过程:

1、 执行循环体,执行完循环体转向2

2、 判断循环条件是否成立,如果条件为true则转向步骤1;为false则转向步骤3

3、 跳出循环,循环结束。

还是拿上边1~100之和的例子来看,

            int i=0, sum=0;

            do

            {

                sum+=i;

                i++;

            } while (i<=100);

            Console.WriteLine("1~100之和为:{0}",sum);

输出:

(3)     for循环

基本语法:

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

                            {

                                        循环体;

                            }

特点:适合用于预先确定循环次数的循环中。

说明:表达式1一般是变量初始化表达式;表达式2是循环条件;表达式3是变量变化表达式。

执行过程:

1、 先计算表达式1的值,转向步骤2

2、 接着执行循环条件的判断,如果判断结果为true则转向第3步,如果为false则转向第5

3、 执行循环体,然后转向第4

4、 执行变量变化表达式,再转向第2

5、 跳出循环,循环结束。

例:    for (inti=1;i<=10;i++)

            {

                         Console.WriteLine("{0}\t我一定要进入黑马学习! ",i);

            }

输出:

(4)     foreach循环

foreach循环用于遍历集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成。in右边的项是集合名in左边的项是变量名,用来存放该集合中的每个元素。

基本语法:

           foreach数据类型  标识符 in 集合表达式

           { 

                循环体语句;

           }

说明:标识符就是这个循环中的迭代变量,这个变量只能在foreach循环中使用,也就是说它是一个局部变量,并且它是一个只读变量 。

执行过程:每一次循环时,从集合中取出一个新的元素值。放到只读变量中去,如果括号中的整个表达式返回值为trueforeach块中的语句就能够执行。一旦集合中的元素都已经被访问到,整个表达式的值为false,控制流程就转入到foreach块后面 的执行语句。

例:     int j =0;

            string[]test= {"张三","李四","王五","赵六"};

            StringBuildersb=newStringBuilder();

            foreach (stringiintest)

            {               

                if (j==test.Length-1)

                {

                    break;

                }

                sb.Append(i+"|");

                j++;

            }

            sb.Append(test[test.Length-1]);

            Console.WriteLine(sb);

            Console.ReadKey();

输出:

 

 ----------------------ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

  

原创粉丝点击