1.while语句
while(条件表达式)//循环条件
{
循环体;//要循环执行的N条程序
}
程序执行过程:
1. 先判断循环条件,它返回一个bool值,如果条件为true,则转向2;如果条件为false,则转向3
2. 执行循环体,循环体执行完成后,转向1
3. 跳出循环,循环结束
注意:while循环的特点是先执行后判断,在循环体中,一定要有那么一句话,改变循环条件的某个变量的值,使循环条件终有那么一天为false
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace while循环
{
class Program
{
static void Main(string[] args)
{
//n次循环,如果i从0开始,则循环条件为i<n
//n次循环,如果i从1开始,则循环条件为i<=n(i<n+1)
int i = 0;//i=0,1,2,3,4 因为i是控件循环次数的,所以i又叫循环变量
while (i < 100)
{
Console.WriteLine("欢迎来传智播客学习"+i);
i++;//千万不要忘记写
}
Console.ReadKey();
}
}
}
注意:
n次循环,如果i从0开始,则循环条件为i<n
n次循环,如果i从1开始,则循环条件为i<=n 也等价于i<n+1
i=0,1,2,3,4 因为i是控件循环次数的,所以i又叫循环变量
一个小例子:计算10的阶乘using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _10的阶乘
{
class Program
{
static void Main(string[] args)
{
//10!=1*2*3*...*10
int s = 1, i = 1;//s用于存10的阶乘,i是循环变量
while (i <= 10)
{
s = s * i;
i++;//千万不要忘记写(增量)
}
Console.WriteLine("1*2*3*...*10={0}",s);
Console.ReadKey();
}
}
}
2.do-while语句
do
{
循环体;
}
while(条件表达式);
执行过程:
1. 执行循环体
2. 判断条件是否成立,如果条件为true,则转向1,如果条件为false,则转向3
3. 跳出循环,循环结束
假如循环条件一开始就不成立,对于while循环,一次都不会执行,对于do-while循环,循环体会执行一次
所以do-while的循环体,先执行后判断,一般至少会被执行一次
一个小例子
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace do_while
{
class Program
{
static void Main(string[] args)
{
string answer="y";
do
{
Console.WriteLine("小兰表演一遍舞蹈!");
Console.WriteLine("老师你满意吗?(y/n)");
answer=Console.ReadLine();
while (answer != "y" && answer != "n")
{
Console.WriteLine("只能输入y和n,请重新输入!");
answer = Console.ReadLine();
}
}while(answer=="n");
Console.WriteLine("跳的不错,回去休息吧");
Console.ReadKey();
}
}
}
总结:do-while语句与while语句的区别在于,先执行循环体中的语句在计算条件表达式,所以do-while语句的循环体至少被执行一次。而对于while语句来说,需要先计算条件表达式然后才会执行循环体,所以对于while语句如果条件表达式一开始结果就为false,那么一次也不会执行
3.for语句
for(表达式1;表达式2;表达式3)
{
循环体;
}
执行过程:
第1步:计算表达式1,转向第2步
第2步:计算表达式2(循环条件),如果表达式2的值为true,转向第3步。如果表达式2的值为false,转向(跳出循环)5步
第3步:执行循环体,转向第4步
第4步:执行表达式3,转向第2步
第5步:循环结束
注意:
for 循环,一般用于已知循环次数的循环
一般情况下
表达式1:用于定义循环变量和对循环变量赋初值。
表达式2:循环条件
表达式3:用于改变循环变量的值
故for循环语法结构也可以这样理解
for(初始条件;终止条件;增量)
{
循环体;
}
(1)初始条件是初始循环的表达式,它在循环开始的时候被执行一次()(2)终止条件是什么时候终止循环,这个表达式在每次循环的过程中被计算一次。当表达式结构为false的时候,这个循环结束
(3)增量式循环一次增加多少(步长)的表达式
(4)循环体是被重复执行的语句块
一个小例子:计算从1加到100的和
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _1加到100的和
{
class Program
{
static void Main(string[] args)
{
//计算1到100之间整数的和
int sum = 0;
for (int i = 1; i <= 100; i++)
{
sum = sum + i;
}
Console.WriteLine("从1加到100的合为{0}", sum);
Console.ReadKey();
}
}
}
注意:若for语句条件中的3个表达式都省略,则为无限循环
for(;;)
{
循环体;//无限循环
}
所以为避免无限循环,上述语句的循环体中应包含能够退出的语句。