初步认识循环结构

   这次主要是总结一下,在我们学习循环结构时,我个人在学习上遇到的问题,以及遇到的重难点。

一、首先,我们需要明白,什么是循环,循环结构是用来干什么的?

  1. 循环:其实就是当满足一定条件时,能够重复不断执行一组代码,不满足条件时,循环会被打破或终止!
      例如:我们生活中的打肉机,在通电的情况下,就可以把肉打成肉馅。
      我们分析这段话,可以得到一个条件,就是在 通电的情况下,它才能够工作。
      打肉机循环重复的一个操作就是 不断的/重复的旋转把肉打成肉馅。
  2. 循环结构主要是用来处理我们遇到的 重复性/多次性的运算、判定的业务!

二、我们在学习循环结构时,会遇到的三种循环语法(知识点)

1. while:

while(循环条件){
    循环操作/循环体(在循环中被重复执行的操作)
}

2. do-while:

do{
    循环结构
}while(循环条件);

  注意点: 在while() 后面的分号一定不可忘

  特点:先循环,再判断。就是先进行一次循环,再去判断是否满足循环条件,若满足,继续下一次循环,否则,结束循环。

  do-while 和 while 的区别:do-while 是先循环,再判断。while 是先判断,再循环。

3. for:

for(初始变量;循环条件;修改变量){
   循环操作
}

  执行顺寻:初始变量=>循环条件=>循环操作=>修改变量(加粗部分会重复执行,知道不满足循环条件才会终止)

(1)for与while的运用

  for一般用于知道其循环次数,而while一般用于是否满足某一条件的循环

(2)back和continue

  back:中断,结束本层循环 退出循环 back只能出现在switch语句和循环体中

  continue:跳过本次循环,继续下一次循环。

(3)举三个相对经典的例子:

  

  • 水仙花数: 1个三位数的每一个位数的立方和 等于它自己 这样的数字叫做水仙花数

  例如:153 = 1 * 1 *1 + 5 *5 *5 + 3 * 3 * 3 = 153

for (var i = 100; i <= 999; i++) {
           // 挨个判定每一个数是否是水仙花数
           // 先获取个位数 对10求余
           var ge = i % 10;
           // 再获取十位数
           var shi = parseInt(i % 100 / 10);
           // 再获取百位数
           var bai = parseInt(i / 100);
           // console.log(i + "这个数字的百位数是" + bai + "十位数是" + shi + "个位数是" + ge);
           if (ge * ge * ge + shi * shi * shi + bai * bai * bai === i) {
               console.log(i + "是一个水仙花数");
           } 
       }
  • 使用for循环打印九九乘法表 (空格: )
for(var i=1;i<10;i++)
       {
           for(var k=1;k<=i;k++)
           {
               // document.write(i+"*"+k+"="+i*k)
               // document.write(i+"*"+k+"="+i*k+"&nbsp&nbsp");
               document.write(i+"*"+k+"="+(i*k<10?i*k+"    ":i*k+"  "));
           }
           document.write("<br>");
       }
  • 使用for循环打印菱形
// 思路:打印两个上下对称的三角形组成菱形
       var h=21;//设置菱形的高度
       for(var i=0;i<h;i++)
       {
           if(i<parseInt(h/2)+1)//定义i为行数  i从0开始
           {
               for(var k=h-i-3;k>0;k--)//定义k为每一行第一个*前-的数量
               {
                   document.write("-");
               }
               for(var k=0;k<2*i+1;k++)//定义k为每一行*的数量
               {
                   document.write("*");
               }
               document.write("<br>");//换行
           }
           else{
               for(var k=0;k<i-2;k++)//定义k为每一行第一个*前-的数量
               {
                   document.write("-");
               }
               for(var k=0;k<2*h-(2*i+1);k++)//定义k为每一行*的数量
               {
                   document.write("*");
               }
               document.write("<br>");//换行
           }
       }

初步发布文章,有什么不好不对的地方欢迎大家评论区指出,尽可能帮助需要帮助的人~如有侵权,请联系删除!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

programmerNuoYan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值