While 循环语句的语法:
While(条件) //条件叫:循环条件
{
要循环执行的n条程序;//循环体
}
执行过程:
判断循环条件为true,则转向2;如果条件为false,则转向3
执行循环体,循环体执行完后,转向1
跳出循环,循环结束
注意:在循环体中,一定要有那么一句话,改变循环条件中的某个变量的值,使循环条件终有那么一天为false
例如:1
Console.WriteLine("请输入你需要循环的语句?");
string sme = Console.ReadLine();
int i = 0;
while (i < 100)
{
Console.WriteLine(sme);
i++;
}
Console.WriteLine("老师问学生这道题会做了吗?");
Console.WriteLine("学生回答:yes或no");
string reply = Console.ReadLine();
while (reply == "no")
{
Console.WriteLine("老师再讲一遍括?");
Console.WriteLine("你们会了吗?");
reply = Console.ReadLine();
}
Console.WriteLine("{0}放学回家",reply);
列1
Console.WriteLine("老师问学生这道台题琣会做了吗?");
Console.WriteLine("学生回答:y/n");
string reply = Console.ReadLine();
int i = 0;
while (i <= 10&&reply =="n")
{
Console.WriteLine("老师再讲一遍括?");
Console.WriteLine("这道题会了吗?");
reply = Console.ReadLine();
i++;
}
Console.WriteLine("{0},放学",reply)
例4:
Console.WriteLine("我们培训学院到哪一年培训学员人数将达到20万人?");
Console.WriteLine("在ú2006年ê培à养?学§员±8万?人?,?每?年ê增?长¤25%");
double traiee = 80000;
int year = 2006;
while (traiee < 200000)
{
traiee =traiee *1.25 ;
year++;
}
Console.WriteLine("{0}年",year);
do - while(条件)
语法:
do
{循环体;}
While(条件);
执行过程:
1.执行循环体,执行完循环体转向2
2.判断条件是否成立,如果条件为true,则转向1,如果条件为false,则转向3
3.跳出循环,循环结束。
假如循环条件一开始就不成立,对于while循环,一次都不会执行。对于do -while循环体会执行一次。所以,do - while的循环体一般至少会被执行一次。
While先判断,后执行
do - while 先执行,后判断
例如:
Console.WriteLine("请?输?入?学§生Θ?姓?名?:阰");
string name = Console.ReadLine();
while (name != "q")
{
Console.WriteLine("请输入学生姓名?");
name = Console.ReadLine();
}
Console.WriteLine(name);
例2:
//第台?四?题
int i;
bool flag = true;
try
{
while (flag )
{
Console.WriteLine("请输入一个?数字?");
i = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("{0}",i*2);
flag = true;
}
}
catch
{
flag = false;
Console.WriteLine("结束");
}
例3:
string i;//定¨义一个变量
int t;//定¨义一个变量
Console.WriteLine("请输入一个数字?");//提示
i = Console.ReadLine();//给变量赋值
while (i != "q")//判断是否变量为q,如果是执行while循-环·
{
t = Convert.ToInt32(i);//将变量转换类型í并赋值给t
Console.WriteLine("{0}",t*2);//输出t的值
Console.WriteLine("请输入一个数字?");
i = Console.ReadLine();//给变量赋值
for循环
语法:
for(表达式1;表达式2;表达式3;)
{
循环体;
}
for循环,一般用于已知循环次数的循环。
一般情况,表达式1用于定义循环变量和对循环变量赋初值
表达式2:循环条件
表达式3:用于改变循环变量的值
执行过程:
第一步:计算表达式1,转向第二步
第二步:计算表达式2(循环条件),如果表达式二的值为true转向第三步,如果表达式二的值为false,转向第五步。
第三步:执行循环体,转向第四步。
第四步:执行表达式三,转向第二步。
第五步:结束程序
例1:
Console.WriteLine("计?算?1至á100的?和í");
int sum = 0;
for (int i =1; i <= 100; i++)
{
if(i%2==0)
{
sum = sum + i;
}
}
Console.WriteLine("sum={0}",sum);
例2:
//计算100到999的水仙花数:a*a*a+b*b*b+c*c*c=cba
Console.WriteLine("找出100到999的水仙花数");
for (int i = 100; i <= 999;i++ )
{
int ge = i % 10;
int shi = i / 10 % 10;
int bei = i / 100;
if (i == ge * ge * ge + shi * shi * shi + bei * bei * bei)
{
Console.WriteLine(i);
}
}
例3:
Console.WriteLine("计算出九九乘法表括“);
for (int i = 1; i <= 9; i++)
{
for(int j = 1;j <=9;j++)
{
Console.WriteLine("{0}*{1}={2}",i,j,i*j);
continue
语法:
While(……){
Continue;//继续下一次循环
}
Continue立即结束本次循环,判断循环条件,如果成立,则进入下一次循环,否则退出循环。
Break
语法:while(……){
break;// 跳出整个循环
}
break用于循环中,退出当前循环
例1:
Console.WriteLine("输?入?一?个?数字?用?来ぁ?计?算?出?其?算?法ぁ?);
int t = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < t; i++)
{
for (int j = 0; j < t; j++)
{
if (i + j == t)
{
Console.WriteLine("{0}+{1}={2}", i, j, i + j );
}
}
例2:
int age ;
int sum=0;
int pjs=0;
int i = 0;
while(i<5)
{
Console.WriteLine("请输入你们{0}个人的年龄:",i+1);
age = Convert.ToInt32(Console.ReadLine());
sum += age;
pjs = sum/5;
i++;
continue;
}
Console.WriteLine("总和={0},平均年龄={1}", sum, pjs);
比较
int age = 0;
int sum = 0;
for (int i = 0; i < 5; i++)
{
Console.WriteLine("请输入第{0}人的年龄?", i + 1);
try
{
age = Convert.ToInt32(Console.ReadLine());
if (age < 0 || age >= 100)
{
Console.WriteLine("年龄不合法!");
break;
}
sum = sum + age;
}
catch
{
Console.WriteLine("你输入的年龄不是数字,错误!程序终止");
break;
}
}
Console.WriteLine("你输入的五个人的平均年龄为:{0}",sum / 5);
例4:
Console.WriteLine("请输入用户名?");
string userName = Console.ReadLine();
Console.WriteLine("输入密码?");
string password = Console.ReadLine();
while (userName != "admin" && password != "888888")
{
Console.WriteLine("请重新输入?");
break;
}
Console.ReadKey();
比较:
string userName, password;
while (true)
{
Console.WriteLine("请输入用户名?");
userName = Console.ReadLine();
Console.WriteLine("请输入密码?");
password = Console.ReadLine();
if (userName == "admin" && password == "888888")
{
break;
}
Console.WriteLine("你输入用户名或密码错误,请重新输入!");
}
Console.WriteLine("登录成功!");
break:
可以用于switch - case 判断中,用于跳出switch
用在循环中,用于立即跳出(终止)循环
注意:用于循环中时,跳出的是break所在的循环
Continue;
用于循环中,程序一旦执行到continue语句,立即结束本次循环(就是不再执行循环体中continue下面的语句了),直接进行下一次循环,(do -while/while 直接进行下一次循环条件的判断,如果条件成立,则再次进入循环, 对于 for 循环,先执行表达式3,再判断循环条件是否成立)
|