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);

图片: https://uploader.shimo.im/f/PxB5qQSDCbM1GAbu.png

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

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;
       }
}

图片: https://uploader.shimo.im/f/lUeB5zravdnhhZPo.png

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

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

图片: https://uploader.shimo.im/f/LXTA5oWuXS9JfUmu.png

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);

图片: https://uploader.shimo.im/f/TicA79dSGewEJnia.png

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);
    }
}

图片: https://uploader.shimo.im/f/k94oPJGTohagpIb4.png

总结
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");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值