c#中几种循环的用法

1.if循环

 

结构:

 

if(循环条件)

 

{

 

  循环语句

 

}

 

注意哪怕if循环语句中只有一段代码也要用{}括起来.

 

例子: int age=10;

 

if(age>18)

 

Console.WriteLine("成年人");

 

Console.WriteLine("未成年人");

 

这段代码执行也会打印出未成年人,所以哪怕if循环语句中只有一段代码也要用{}括起来.

 

2.else if一般和if循环综合起来使用

 

例一:

 

Console.WriteLine("请输入2个数");

           int i1 = int.Parse(Console.ReadLine());

           int i2 = int.Parse(Console.ReadLine());

           if (i1 >0 &&i2 > 0)//如果i1 i2都是正数。则将i1递增,打印i1+i2的值。

           {

          

               i1= i1 + 1;

               Console.WriteLine("{0}+{1},{2}",i1,i2,i1+i2);

           }

           else if (i1 < 0 && i2 < 0)//如果i1,i2都是负数。则将i1递减10个数然后打印i1*i2的值。

           {

               i1 = i1 - 10;

               Console.WriteLine("{0}*{1},{2}", i1, i2, i1 * i2);

           }

           else if (i1 == 0 || i2 == 0)//如果i1或者i2等于0。则表示数据有误。 注意不要写成i1=0||i2=0这里的0是个字符串

           {

               Console.WriteLine("数据有误");

           }

           else//i1*i2的绝对值

           {

 

               int i3 = i1 * i2;

               if (i3 < 0)

               {

                   i3 = -i3;

               }

               Console.WriteLine("{0}*{1}绝对值是,{2}",i1,i2,i3);

           }

           Console.ReadKey();

例二:

// if...else if练习

       Console.WriteLine("请输入今天的温度");

         string Demp = Console.ReadLine();

         int D = Convert.ToInt32(Demp);

         if (D >=20)

         {

              Console.WriteLine("太暖和了大家留在教室继续上课吧");

          }

          

          

           

           else  if (D <= 10)

           {

               Console.WriteLine("太冷了扛不住了我要出去");

           }

           else

           {

               Console.WriteLine("让我们投票决定吧");

           }

 

注意:ifelse if的区别:如果使用if..if...的时候,如果的哥条件满足,仍然会判断后面的条件;当使用if...else if...时,当满足第一个条件是,则不再逐个判断后面的条件是否满足

 

 

 

3.switch循环

 

 .Switch case语句的语法注意事项:

 

1.Switch(){}用法:括号中的变量必须是可列举类型的,如,bool,字符串,整型,字符型等,double不可以因为它有小数,范围不确定所以不是可列举型的。

2.给它一个起点与终点,可以在其中找到相对应的值,叫做可列举的类型。

3.switch单词的含义是“切换”,case是“情形”,这样就可以推断出切换到哪里时就执行什么情形。

4.执行在进入switch case语句后,会从满足条件的case语句后执行,直到该case语句的break出现,则跳出循环(跳出switch;case语句)。

5.case后的值只能有一个。不能重复并以“:”号结束。

6.default只能有一个,且可以省略。

备注:switch case语句在某些情况下实现多路分支非常方便,因此它一般使用在三路分支以上的执行情况下。使用此语句时要注意一定要在case后面跟常量或常量表达式,以冒号结束而不是分号,且case语句后一定要跟上break语句

 

 

.Switch(变量)它的类型是可列举的类型。(包含bool型的变量,整数可以列举,double不可以,也可以是字符串型)

给它一个起点与终点,可以在其中找到值,写一个变量就可以了,表达式放入外边

第一个问题:

 表达式:变量的类型可列举的,string类型也可以

 常量:必须和表达式的类型一致。

 Case后的“:“不能丢;

 语句可以是空语句

 break;//它应该放在语句的最后面

 default语句可以放在任何位置

各个 case标签可以不连续,不按指定顺序走,但不可重复

当两个case执行的情况一致时,采取并例.

 

例一:

 

int i=2;

   switch(i)

     {

        case 2://相当于if(i=2) case后面只能写如(2,3,"aaaa")不能写变量

           Console.WriteLine("你个哈儿");

          break;

         case 3:

      Console.WriteLine("你才哈");

            break;//后面必须跟break

          case 4:

           Console.WriteLine("去死吧");

             break;

 

      //相同的情况的处理方式

           case 5:

           case 6://相当于if(i==5||i==6)唯一一个后面不跟break的情况

              Console.WriteLine("有病");

               break;

 

      defaukt://相当于if语句的else

 

        Console.WriteLine("没意义");

 

        break;

 

 

 

               }

 

 

 

注意 1.switch一般能用if重写但是if不能用用switch重写

 

      2switch注意后面的break

例二.

           Console.WriteLine("您的工资为");

           string money = Console.ReadLine();

           switch (money)

           {

               case "4000":

                   Console.WriteLine("待遇不错,在这干吧");

                   break;

               case "3000":

                   Console.WriteLine("有点少");

                   break;

               case "2000":

                   Console.WriteLine("不行,这也太低了");

                   break;

               case "1000":

                   Console.WriteLine("还是回家歇着吧");

                   break;

               default:

                   Console.WriteLine("哎,怎么办");

                   break;

 

 

 

           }

 

4.while循环

 

语法:

 

 While(i<100)

{

//打印

I

i++

只要while后小括号的表达式为true

就不断执行大括号中的代码

While(不是终点)

  

 }

 

例子:

           1.要求用户输入用户名和密码2.如果用户名等于admin并且密码等于111111,则提示用户“登录成功”2.如果输入不正确。则提示用户重新输入,一直输入正确为止,才跳出循环

           while (true)

           {

               Console.WriteLine("请输入您的用户名");

               string name = Console.ReadLine();

               Console.WriteLine("请输入您的密码");

               string password = Console.ReadLine();

          

                   if (name == "admin" && password == "111111")

                   {

                       Console.WriteLine("登陆成功");

                       break;

                   }

                   else

                   {

                      Console.WriteLine("登陆失败,请重新登陆");

                       

                   }

           }

5.do...while

do

 {

//打印I

 

i++

 

While(i<100)

先做…….如果满足则再来一次,甚至

While表达式为false。至少被执行一次

 

例子:

  do....while实现上面例子

           string name;

           string password;

           do

           {

               Console.WriteLine("请输入您的用户名");

               name = Console.ReadLine();

               Console.WriteLine("请输入您的密码");

               password = Console.ReadLine();

 

 

           }

 

           while (name.ToUpper != "ADMIN" || password != "111111");

        

           Console.WriteLine("登陆成功");

 

注:如果while中的条件为true,就会继续执行do中的代码,如果为false,则会继续执行do{}while()后面的代码

 

6.for循环

 

for循环重复执行一个语句或语句块,直到指定的表达式计算为 false值。 

 

for (int i=0; i<3; i++)

{

   //语句

}

上述示例中

 

1)首先设置变量 i 的初始值;

2i<3 true,执行 for循环,若 i<3 false,退出循环;

3)执行 i++,跳到第二步。

 

例子:

 

           //九九乘法表

 

           for (int i = 1; i <= 9; i++)

           {

               for (int j = 1; j <= i; j++)

               {

                   Console.Write("{0}*{1}={2:00}  ", j, i, j * i);

               }

               Console.Write("\n");

           }

 

7.foreach

foreach语句为数组或对象集合中的每个元素重复地嵌入一个语句组,另外,它还可用于循环访问集合以获取所需信息,但不能应用于更改集合内容以避免产生不可预知的副作用。foreach语句语法如下:

语法

foreach(类型 变量名 in  集合对象)

{

语句体

}

 

示例

foreach语句的使用

利用foreach输出整数数组的内容。程序代码如下

 

           //1.从一个整数数组中取出最大的整数

           int[] numbers = { 1, 2, 3 };

 

 

           foreach (int num in numbers)

           {

 

               Console.WriteLine(num);

           }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值