JS_循环

01-练习

       华氏度转摄氏度(保留三位小数)

                  var c = (80 - 32) * 5 / 9

    console.log(c.toFixed(3))

    console.log(parseInt(c * 1000) / 1000)

       每个月第几天是每年的第几天

                      var year = 2024

        var month = 2

        var day = 20

         结果:42

        switch (month) {

            case 12:

                day += 30

            case 11:

                day += 31

            case 10:

                day += 30

            case 9:

                day += 31

            case 8:

                day += 31

            case 7:

                day += 30

            case 6:

                day += 31

            case 5:

                day += 30

            case 4:

                day += 31

            case 3:

                if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {

                    day += 29

                } else {

                    day += 28

                }

            case 2:

                day += 31

        }

        console.log(day)

02-循环

          while

        - 循环:重复的做一件

        - 不固定次数使用

         死循环会阻止后面的程序执行

         while (1 < 3) {

             alert('ok')

         }

         alert(123)

         1. 初始化

         var i = 0               // 1 2 3

         2. 条件

         while (i < 3) {

         3. 语句

          alert(i)            // 0 1 2

         4. 自增

           i++

          }

              例子

                      var str = prompt('你爱我吗?')

 while (str !== 'yes') {

 str = prompt('你爱我吗?')

  }

  alert('我也爱你')

03-doWhile循环

          条件不成立也会执行一次

        var i = 0

        alert(i)

   do {

           alert(i)

            i++

         } while (i > 3)

04-for循环

       写法

                  for

         - for (初始化;条件;自增) { 语句 }

         - 执行顺序:1. 初始化;2. 条件;3. 语句; 4. 自增

         - 语法糖

       例子

              自增到5

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

          console.log(i)          0 1 2 3 4

         }

        循环结束以后i已经变成了5

        console.log(i)

              0-100之间的数 只输出偶数 求偶数和

                        var sum = 0

         for (var i = 0; i <= 100; i += 2) {

             // console.log(i)

             sum += i

         }

         console.log(sum)

         for (var i = 0; i <= 100; i++) {

             if (i % 2 === 0) {

                 console.log(i)

             }

         }

              1-7之间的阶乘

                        1 - 7 之间的阶乘

      1 * 2 * 3 * 4 * 5 * 6 * 7

     var n = 1

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

            console.log(i)

            n *= i

        }

        console.log(n)

05-求质数 计数器

        质数

       - 什么是质数

       - 质数:3 5 7 11 13

       - 非质数:4 6 8 9

                var n = 9

         计数器

        var count = 0

        for (var i = 2; i < n; i++) {

           // console.log(n % i)

            if (n % i === 0) {

                count++

            }

        }

        if (count === 0) {

            alert('是')

        } else {

            alert('不是')

        }

05-求质数2

        var n = 5

        // 计数器

        var count = 0

        // 只有循环结束才能知道这个数是不是质数

        for (var i = 2; i < n; i++) {

            if (n % i === 0) {

                count++

            }

        }

        if (count === 0) {

            alert('是')

        } else {

            alert('不是')

        }

05-求质数3

         var n = 5

        // 开关

        var flag = true

        for (var i = 2; i < n; i++) {

            if (n % i === 0) {

                // 如果能进入本次条件下面的语句就不能执行

                flag = false

                alert('不是质数')

            }

        }

        // false

        if (flag) {

            alert('是质数')

        }

06-输出闰年

         1000 - 2000 之间的闰年

                var count = 0

        for (var i = 1000; i <= 2000; i++) {

            if (i % 4 === 0 && i % 100 !== 0 || i % 400 === 0) {

                // 到闰年就让计数自增

                count++

                document.write(i + ' ')

                // console.log(count)

                // 如果count是4的倍数就要多打印一个换行

                if (count % 4 === 0) {

                    document.write('<br />')

                }

            }

        }

07-水仙花数

          153

         - 1 * 1 * 1 = 1

         - 5 * 5 * 5 = 125

         - 3 * 3 * 3 = 27

         1 + 125 + 27 = 153

         把三个数拆成个位数,每个数的3次幂结果相加还是原来的数就为水仙花数

             

         三位数里有哪些水仙花数

        var n = 153

        var a = parseInt(n / 100)

        var b = parseInt(n / 10) % 10

        var c = n % 10

        var res = a * a * a + b * b * b + c * c * c

        // console.log(a, b, c)

        // console.log(res, n)

        if (res === n) {

            alert('是水仙花数')

        } else {

            alert('不是水仙花数')

        }

07-水仙花数2

      

         三位数里有哪些水仙花数

        for (var i = 100; i <= 999; i++) {

            var a = parseInt(i / 100)

            var b = parseInt(i / 10) % 10

            var c = i % 10

            // var res = a * a * a + b * b * b + c * c * c

            var res = Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3)

            if (res === i) {

                console.log(res)

            }

        }

08-双层循环嵌套

        双层循环变量名不能重复

         结束值 * 结束值 = 循环次数

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

             for (var j = 0; j < 5; j++) {

                 console.log(j)

             }

         }

             

        for (var j = 1; j <= 10; j++) {

            for (var i = 0; i < j; i++) {

                document.write('*')

            }

            document.write('<br />')

        }

09-99乘法表

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

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

                document.write(j + '*' + i + '=' + i * j + ' ')

            }

            document.write('<br />')

        }

10-等腰三角形

              var n = 10

        for (var k = 0; k <= n; k++) {

            for (var i = 0; i < n - k; i++) {

                document.write('&nbsp;')

            }

            for (var j = 0; j < k * 2 + 1; j++) {

                document.write('*')

            }

            document.write('<br />')

        }

11-结束循环

         结束循环,break

        for (var i = 0; i < 100; i++) {

            if (i === 3) {

                break

            }

            console.log(i)

        }

12.跳过本次循环

          跳过循环 continue

        for (var i = 0; i < 10; i++) {

            if (i === 3) {

                continue

            }

            console.log(i)

        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值