黑马程序员--循环条件选择

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

C#中循环条件判断语句是很重要的,基本上每次写代码都会用到的。它的循环语句有:while 、do while、for、foreach、goto。它的选择语句有:if else、switch二种

1、while循环语句

while循环语句,先进行条件判断,如果为真那么就执行{}括号里的代码,否则不执行。while()括号里的值只能是bool类型的。

格式:

while(bool值表达式)

{

执行代码;

}

例:

while(5>3)
{
    Console.Write("5大于3");
}

输出结果为:5大于3

2、do while循环

跟while循环类似,只是do while循环是无条件先执行一次{}括号里的代码,再对while()括号里的bool值进行判断,如果是真就再从do开始执行代码,否则退出循环。

格式:

do

{

执行代码;

}while(bool值表达式)

例:

do
{
    Console.Write("4大于6");
}while(4>6);

输出结果为:4大于6 
尽管while(4>6)不成立,但是do while语句的特性是先执行一次再判断。

3、for语句

for循环一般都用在计数或排序中使用,这样做也就相当于为每行数据打上序号。

for语句可以在语句开始执行的时候,可以声明一个变量或是给变量赋值,再进行判断。

注意,初始化、循环控制条件和循环控制都是可选的。如果忽略了条件,你就可能产生一个死循环,要用跳转语句(break或goto)才能退出。

执行顺序:1、初始化 2、条件判断 3、为真执行代码 4、代码执行完后,执行循环控制

格式:

for(初始化;条件语句;循环控制)

{

执行代码;

}

例:

int k = 0;
for(int i =0; i<6; i++)
    k +=i;
Console.Write(k);
输出结果为:15

4、foreach循环

foreach循环是不可控制的,只能用于数组和集合,不管你的开始下标是多少,foreach会自动重第一个位置取出当中的数,并且foreach循环中不能改变里在的值,只能够用于读取,对每取出一个数,都会执行{}括号里的代码。

格式:

foreach(类型 变量名 in 数组或集合)

{

执行代码;

}

例:

string[] str={"我们","天空","世界","海洋"};
foreach(string b in str)
   Console.Write(b);
输出结果为:我们 天空 世界  海洋

5、goto循环

 一般GOTO建议只用在多重循环的跳出,其它情况尽量不用,因为可读性不高。goto语句只能用在方法里并且它的作用域只能在{}里,但是可以用goto语句从里层住外层跳,反之则不行。也不能从一个{}括号中跳往另一个{}括号中。

格式:

标签:

goto 标签;

例:

static void Main(string[] args)
        {
            int sum = 0;
            int i = 1;
          loop1:
          if (i < 5)
          {
              sum += i;
              if (sum % 2 == 0)
                  goto loop2;
              i++;
              goto loop1;
          }
         loop2: Console.WriteLine(sum);
          Console.ReadKey();
        }

输出结果为:6


在循环语句中可以使用break和continue来使语句是否结束或结束本次循环。

break:结束并离{}花括号最近的循环语句(在 foreach中使用不会退出循环)

continue:结束循环语句中的本次循环代码,进入下次循环。

6、if else 条件选择

if()括号里是一个bool值的表达式,当为真时就执行{}括号里的语句,否则就跳过这条语句。else:表示false(假),如果if里判断为假时,后面跟有 else 语句就会执行else{}括号里的语句。

格式:

if(条件判断)

{

执行代码;

}

else

{

执行代码;

}

或则

if(条件判断)

{

执行代码;

}

else if(条件判断)

{

执行代码;

}

else if(条件判断)

{

执行代码;

}

例1:

 static void Main(string[] args)
        {
            int a = 10;
            int b = 15;
            if (a > b)
                Console.WriteLine(a);
            else 
            {
                Console.WriteLine(b);
            }
          Console.ReadKey();
        }
输出为:15

例2:

static void Main(string[] args)
        {
            int a = 10;
            int b = 15;
            if (a > b)
                Console.WriteLine(a);
            else if(b%a == 0)
            {
                Console.WriteLine(b);
            }
            else if ((b - a) == 5)
            {
                Console.WriteLine(5);
            }
          Console.ReadKey();
        }
输出为:5

7、switch 条件选择

switch case 只能对离散的值进行判断,在case处只能写常量。

switch不允许遍历,必须在每个case后面加break或者goto语句,否则编译不会通过

case标签必须是唯一性的表达式,也就是说不允许两个case具有相同的值。

default:表示当所有case 条件不成立就会执行 default 。

格式:

switch(表达式)

{case 值1:

语句;

break;

case 值2:

语句;

break;

case 值3:

语句;

break;

....................

default:语句;break;

}

例:

 static void Main(string[] args)
        {
            string xun = "桃子";
            switch (xun) 
            {
                case "大米": Console.WriteLine("我喜欢大米");
                    break;
                case "桃子":
                case "水果": Console.WriteLine("我喜欢水果!");
                    break;
                case "车子": Console.WriteLine("我喜欢车子");
                    break;
                default: Console.WriteLine("我一样也不喜欢"); 
                    break;

            }
            Console.ReadKey();
        }
输出结果为:水果
case 在选择时如果想得到的语句都相同时,那么case 值:后面就不要写语句和break;,在想要得到语句那个case 值:后面写上想要的代码。


---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

详细请查看:<a href="http://edu.csdn.net" target="blank"> http://edu.csdn.net </a>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值