您的位置:首页 > 编程语言 > C#

c#中几种循环的用法

2013-02-27 18:03 141 查看
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("让我们投票决定吧");
}

注意:if和else
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 的初始值;
(2)i<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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: