js--循环结构

2 篇文章 0 订阅

程序的三大结构:顺序结构   条件分支结构   循环结构

之前学习了条件分支 ,今天主要学习循环结构!


 while(条件)
       {
        循环体
        }

注意三要素:初始值  条件  改变条件的语句 

1.此语句是先判断条件,再确定是否执行语句或程序块。

2.条件为true时,执行循环体的语句或程序块。反之不执行循环体。

3.在循环体中要有改变条的语句,否则会成为死循环。
 

 简单做一个例子吧,把1-5的数字从小到大输出!

       var a =1
        while(a<=5){
            console.log(a)
            a++
        }
        console.log('循环结束');
do --while

语法:
   do{
  循环体
}   while(条件表达式)

接着上面的例子,用do-while把1-5的数字从小到大输出!

    do{
        console.log(a)
         a++
        }   while(a<=5)
        console.log('循环结束');

 for语句:(记得在这里打的是分号,表式一条语句结束)

for(初始化;条件;改变条件){
     循环体
}

 若用for循环来输出1-5的数字从小到大输出

     for(var i=1;i<=5;i++){
            console.log(i);
        }
        console.log('循环结束')

接下来有几个练习题,练练手看你是否真的掌握了吧!

1.使用for循环正序输出 1 - 10

2. 打印出1-100里所有的偶数

3.打印出1-100里所有的奇数

4.打印100以内7的倍数

5.打印100以内能被4整除的数

6.1+2+3+4+...100的和

以下是我的理解与看法,仅供参考哦!

 //   1. 使用for循环正序输出 1 - 10
            //  var i
        //   for(var i=1;i<=10;i++){
        //     console.log(i);
        // }
        // console.log('循环结束')

        

           //  2 打印出1-100里所有的偶数
           
        // for( var i=1;i<=100;i++){
        //     if(i%2==0){
        //         console.log(i);
        //     } 



        //  3 打印出1-100里所有的奇数
           
        // for( var i=1;i<=100;i=i+2){
        //     console.log(i);
        // }


        // 4 打印100以内7的倍数
        // for( var i=1;i<=100;i++){
        //     if(i%7==0){
        //         console.log(i)
        //     }
        // }


        // 5.打印100以内能被4整除的数
        //  for( var i=1;i<=100;i++){
        //     if(i%4==0){
        //         console.log(i)
        //     }
        // }


        //6. 1+2+3+4+...100的和
        // var sum=0
        // for(var i=1;i<=100;i++){
        //     sum=sum+i
        // }
        // console.log(sum);

 breakcontinue的分别?

.在循环没有进行完毕的时候,因为我设置的条件满足,提前终止循环

break结束循环

.比如︰我要吃五个包子,吃到三个的时候,不能在吃了,我就停止吃包子这个事情要终止循环,就可以直接使用break关键字

for(var i=1;i<=5;i++)  {

    console.log('我要吃第'+i+'个包子')

     if(i=3){

    break

       }

continue结束本次循环,进行下次循环

在以吃包子为例,吃到第三个包子的时候掉地上了,接着吃后面的

for(nav n=1;n<=5;n++){

   console.log('我吃第'+n'包子')

   if(n==3){

   continue
           }
   console.log('我吃第'+n'包子')
}

计数器:

有5个包子,掉了一个,那你吃了几个包子?当然小学生都知晓,我们应该编程让电脑知道呢?定义一个变量,初始值为0,如果满足条件值加一则可以。

 var count=0
      for(var i=1;i<=5;i++){
      if(i==3){
        countinue
       }
     console.log('吃第'+i+'个包子')
        count++}
      console.log('吃第'+i+'个包子')

 在例如:

 // 1.打印100-200内能被6整除的前3个数
        var count = 0
        for (var n = 100; n <= 200; n++) {
            if (n % 6 == 0) {
                console.log(n)
                count++
                document.write(n + '')
                document.write('<br>')
            }
            if (count == 3) {
                break;
            }
        }

 将内容输入到页面上:  document.write,有多条语句时,不会换行。若想换行,加标签<br>


        //  输出20-80之间能被3整除的整数,每5个一行 (使用document.write()打印)
        // var count=0
        // for(var i=20;i<=80;i++){
        //     if(i%3==0){
        //         document.write(i+'          ')
        //         count++
        //     }
        //     if(count %5==0){
        //         document.write('<br>')//换行

        //         //五个换行,将count%5==0或者在此重置计数器
        //         // count==0
        //     }
        // }


        // 打印出1000-2000年中所有的闰年,并以每行四个数的形式输出(使用document.write()打印)
        //  var count=0
        //  for(var year=1000;year<=2000;year++){
        //     if((year%4==0&&year%100!=0)||(year%400==0)){
        //         document.write(year+'   ')
        //         count++
        //     }
        //     if(count==4){
        //         document.write('<br>')
        //         count=0
        //     }
        //  }

 双重for循环

 例如图形打印的编程思想:外层循环打印行数,内层循环,打印每行的元素。关键点:计算每行打印多少个元素,根据外层循环变量确定。

    <script>
        //外层循环9次
     for(j=1;j<=9;j++){ 
        //内层循环9次
        for(var i=1;i<=j;i++){
            document.write(' * ')
        }
        //每次输入9个星号则换行
        document.write('</br>')
    } 
 </script> 

 累加型:

<!-- 入职薪水10K,每年涨幅5%,50年后工资多少?求该员工50年总共拿了多少工资? -->
    <script>
 
        var salary=10000*12
        var count=salary

        for(var year=2;year<=50;year++){
            salary=salary+salary*0.05
            count=count+salary
        }
        console.log('50年后的工资为:' ,salary.toFixed(2))

    </script>

今天的知识就分享到这里,若有错误,请指正!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值