while循环

//while循环
//while(){}:当小括号条件成立 执行{}里面的东西,条件不成立的时候,循环就结束了

while (true) //true 就是永远成立 一直执行{}
{
    Console.WriteLine("死循环");
    break; //跳出死循环 只会执行一次
}

while (true) //死循环
{
    Console.WriteLine("请输入一个数:");
    int aa = int.Parse(Console.ReadLine()); //等待用户输入的一个过程
    break;
}

while (true)
{
    Console.WriteLine("输入yes/no");//如果输入的是yes一直输入,输入为no的时候 跳出循环
    string name = Console.ReadLine();//等待用户输入的一个过程
    if (name == "no")
    {
        break;
    }
}

//使用while循环  执行有限次数循环
int i = 0;
while (i<10) 
{
    Console.WriteLine(i);
    //更新i的值 直到i的值大于等于10,条件不成了,循环就不在执行
    i++;
}

/* 1 先执行 i = 0
 * 2 再判断i是否小于10 如果小于10执行{}
 * 3 再去i++ 变成1
 * 4 再去判断i是否小于10 如果小于10 再去执行{}
 * 5 再执行i++ 一直到条件不成立时候 跳出循环
 * 
 */


//0+1+2...+100
int j = 0;
int sum = 0;//总和
while (j < 101)
{
    sum += j;
    j++;
}
Console.WriteLine(sum);

//while循环和if条件嵌套
//0-100之间偶数和
int a = 0;
int sum1 = 0;
while (a < 101)
{
    if (a%2==0)
    {
        sum1 += a;
    }
    //a+=2; a 0 2 4 6 8...100
    a++; //a 0 1 2 3
}
Console.WriteLine(sum1);//2550

//0-100之间能够被三整除的偶数 找到第一个
int count = 1;
while (count<101)
{
    if (count%3==0 && count%2==0)
    {
        Console.WriteLine(count);
        break;
    }
    count++;
}

//打印前5个 需要找一个变量记录满足条件当前的个数
int num = 1;
int count1 = 0;//计数器 记录个数变量
while (num<101)
{
    if (num % 3 == 0 && num % 2 == 0)
    {
        Console.WriteLine(num);
        count1++;
        if (count1 == 5)
        {
            break;//跳出循环
        }
    }
    num++;
}

continue 

//continue:继续,不会跳出循环,只会跳出当前循环,后续的循环继续执行
 //break : 跳出整个循环
 int i = 0;
 while (i<4)
 {
     i++;
     if (i == 2)
     {
         continue;//继续下次循环
     }
     Console.WriteLine(i);// 1 3 4
 }

 //break 跳出整个循环
 int i1 = 0;
 while (i1 < 4)
 {
     i1++;
     if (i1 == 2)
     {
         break;
     }
     Console.WriteLine(i1);//1
 }

 //输出1-100之间所有的偶数 continue
 int b = 0; //初始值
 while (b < 101) //循环条件
 {
     b++; //循环递增量
     if (b % 2 != 0)// b是奇数 cw就不要再去执行了   需要跳出来
     {
         continue;
     }
     Console.WriteLine(b + "---------");
 }

 int aaa= 0;
 while (aaa < 10)
 {
     aaa++;
     if (aaa == 3)
     {
         continue;//跳出当前循环
     }
     if (aaa == 6)
     {
         Console.WriteLine(aaa + "???????");  // 6
         break;//跳出整个循环 只要break 后面cw不在执行
     }
     Console.WriteLine(aaa + "+++++++");//1 2 4 5
}

do while 循环

while (false) //先判断 条件不成立 就不再去执行{}
{
    Console.WriteLine("sss"); // 提示 有可能执行不到代码
}

//while 先判断条件 再去执行
//do...while:先去执行一次,再去判断条件,最起码执行一次
do//先执行 最后判断
{
    Console.WriteLine("do...while流程控制");
}
while (false);

#region 如果用户输入一个小于0的数 一直输入
// 如果用户输入一个小于0的数 一直输入
/*
int num  = int.Parse( Console.ReadLine());
while (num<0)// 输入数不对
{
    Console.WriteLine("请重新输入一个正数");
    num = int.Parse(Console.ReadLine());//重新输入
}
//能够执行到该句代码 是不是就证明while循环已经结束,证明num>=0
Console.WriteLine(num+"-----------------");
*/
#endregion

//使用 do...while  修改上面的例子 
int num1;
do
{
    Console.WriteLine("请输入一个正数:");
    num1 = int.Parse(Console.ReadLine());

} while (num1 < 0); //num1 小于0的时候 执行{}

//while 实现输入数字的阶乘
Console.WriteLine("请输入一个数:");
int num2 = int.Parse(Console.ReadLine()); //8!=8*7..
int i = 1;//计数器
int sum2 = 1;//代表乘积
string s = "";
while (i <= num2)
{
    sum2 *= i;// 计算乘积,把每次递增i乘以到sum2
    s += $"{i}*";// 字符串拼接 把i替换成递增量
    i++;// 递增量
}
Console.WriteLine(s);
Console.WriteLine(sum2);


//do-while 计算输入数字的阶乘
int i1 = 1; // 初始值
int sum3 = 1; //乘积

Console.WriteLine("请输入一个数");
int num3 = int.Parse(Console.ReadLine()); ;// 用户输入
do
{

    sum3 *= i1;
    i1++;
} while (i1 <= num3); // 条件
Console.WriteLine(sum3 + "//////////////////////////");

更多推荐