c#学习day03__循环

循环结构的特点:循环条件和循环操作

循环类别:
1.while循环
int i = 0;
while(表达式内容i < 100){
//循环内容
//代码
i++
}

//判断有多少个位数之和等于7的数
//例如:43,  4 + 3 = 7
int i = 100;
int a = 0;
while (i <= 10000)
{
     
    int num = (i % 10000) / 1000 + (i % 1000) /100 + (i % 100) / 10 + i % 10;
    if (num == 7 )
    {
     
       a += 1;
    }
    i++;
}
Console.WriteLine("有{0}个", a);

c#学习day03__循环_第1张图片

表达式内容为真执行循环体,一旦表达式内容为假,立即跳出循环,循环停止

2.break
break在switch语句中用来跳出switch语句
在循环体中,用来跳出本层循环(通常与if连用)。

 //战斗场景
 //玩家攻击力
int playerAtk = 8;
//随机敌人血量,随机是左闭右开[100,200)
int enemyHp = new Random().Next(100,200);
while (true) {
     
	//闪避概率
    if (new Random().Next(0, 10) > 7) {
     
       Console.WriteLine("诶~走位~");
       continue;
    }
       //攻击 判断敌人血量是否大于0
       if (enemyHp > 0) {
     
          //攻击成功,敌人血量减去玩家攻击力
          enemyHp -= playerAtk;
          Console.WriteLine("造成{0}伤害",playerAtk);
       }
       else
       {
     
       	  //敌人血量小于0,玩家胜利
          Console.WriteLine("战斗胜利");
          break;
       }
}

c#学习day03__循环_第2张图片

3.continue
在循环中用来结束本次循环(continue后面的代码不再执行),进入下次循环(通常与if连用)。

//输出不是3的倍数的数
int a = 1;
while (a <= 100)
{
     
   if (a % 3 != 0)
   {
     
      Console.WriteLine("{0}不是3的倍数",a);
      a++;
   }
   else
   {
     
      a++;
      continue;
   }
}

c#学习day03__循环_第3张图片

4.do…while循环
do{
//循环内容
}while(条件表达式)
先执行循环体,再判断条件,知道条件不成立,循环结束。

int num = 0;
int i = 1;
do
{
     
  num += i;
  i++;
} while (num <= 10000);
num = num - i;
i = i - 1;
Console.WriteLine("最大值是{0},i={1}", num,i);

c#学习day03__循环_第4张图片

5.for循环
for(循环初始变量;循环条件;循环增量){
//循环体
}
循环条件为真,执行循环体
循环条件为假,跳出循环。

for (int i = 1;i <= 200;i++)
{
     
    //提取个位数
    int num1 = i % 10;
    //提取十位数
    int num2 = i % 100 / 10;
    //提取百位数
    int num3 = i % 1000 / 100;
    //限制条件个位数不等于7,十位数不等于7,百位数不等于0,i不能整除7
    if(num1 != 7 && num2 != 7 && i % 7 != 0 && num3 != 0)
    {
     
       Console.WriteLine("i = {0}",i);
    }
}

c#学习day03__循环_第5张图片

总结
1.for循环最常用,通常用于知道循环次数的循环
2.while也很常用,通常用于不知道循环次数的循环
3.do…while循环不是很常用,通产用于需要先执行一次的循环
4.beak用于跳出本层循环,continue用于结束本次循环,通常与if连用。

利用循环输出9x9乘法表

for (int i = 1; i < 10; i++)
{
     
	//j < i限制输出,不用输出多余的乘法运算
	//不清楚啥意思可以试试j < 10
   for (int j = 1;j <= i;j++)
   {
     
   	   //输出每行的乘法运算
       Console.Write("{0} x {1} = {2} \t", j, i, j * i);
   }
   //用于换行
   /*
   WriteLine本身自带换行,此处相当于换了两行
   Console.WriteLine();和Console.Write("\n");和Console.WriteLine("\n");
   效果都差不多,个人看着舒服不舒服而已啦
   \n换行符
   \t空格,相当于按了tab键
   */
   Console.WriteLine("\n");
}

你可能感兴趣的:(for,while,dowhile循环,c#)