JS的循环语句/水仙花数/控制语句/循环嵌套

103 阅读1分钟

循环结构语句

分支:根据条件来决定是不是执行某一段代码
循环:根据条件来决定一段代码重复执行多少次

循环成立的条件
1. 初始值,作为循环的开始
2. 条件判断,决定要不要继续循环
3. 重复执行的代码
4. 改变初始值,为了让循环有结束

while 循环的语法

var n = 1

while(n < 10){重复执行的代码
(条件判断,不符合时结束循环)

console.log'我执行了')
(循环执行的代码)

n++  (改变自身,如果不写就是死循环)
}

do..while循环

语法:do {要循环执行的代码} while (条件) 

和while 循环的 差异
    
while 首次执行就判断条件, 条件不符合不执行 且停止循环

do...while 首次就执行,不需要判断条件,执行完毕再去判断条件,条件不符合时不执行,且停止循环

    var num = 10
    do {
        console.log(1)
        num++
    } while (num < 6)

    var num = 10
    do {...} while (num < 6)
     
    首次执行
    1.直接执行 {...}代码,所以会打印 1 num++
    2.判断条件 num < 6 吗 此时 num 一定大于 6 ,所以条件为 false  条件为 false 直接停止循环
    

for循环

   js循环的一种
   语法 
   for (1.声明变量(初始化条件);2.判断条件;3.改变自身) {循环执行得代码}
   
    for (var i = 0; i < 10; i++){
        console.log(1)
    }

水仙花数字:

三次自幂数(取值范围 100 ~ 999) 
(如果是4位数,叫 四次自幂数,就是每一位的四次方之和)
一个数字的每一位的三次方之和,如果和这个数字一样
就是三次自幂数
例子: 153
1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3
 1 + 125 + 27  
 153
 
**思路**
1.循环得到 100 ~ 999 的每一个整数

//1.循环
forvar a = 100a < 999; a++){

//2.拆数字
var b = parseInt(a / 100)
var c = parseInt(a % 100 / 10)
var d = a % 10

//3.判断是不是三次自幂数
ifb ** 3 + c ** 3 + d ** 3 === a){
console.log (a + '是三次自幂数')

}
}

循环控制语句

 /**
     * break 关键字的应用
     * continue 关键字的应用
     * 
     * 共同点:
     *   都可以打断循环
     * 不同点:
     *   break:当我们想满足某一个条件时,停止整个循环,可以使用 break
     *          例子:早上我吃了五个包子,吃完第三个报了,后续的第四个第五个就不吃了
     * 
     * 
     *          continue:当我们想满足某一个条件时,停止当前本轮循环,后续的循环正常执行
     *              例子:早上买了5个包子,吃第三个的时候,第三个掉地上了,所以我不吃第三个,后续的第四个第五个正常吃掉
    */


    // for(var i = 1; i < 5; i++){
    //     console.log('吃了一个包子')
    //     if(i == 3){
    //         console.log('我吃饱了')
    //         break
    //     }
    // }




    for(var i = 1; i <= 5; i++){
        if(i == 3) {
            console.log('这个包子掉地上了,我不吃了')
            continue
        }
        console.log('我吃了一个包子')  
    }
    
    

循环嵌套

     循环嵌套
            两个循环叠在一起
  
  
    for(var i = 0; i < 3; i++){
       console.log('外表循环')
    for(var k = 0; k < 3; k++)
       console.log(k)
    }



    for(var y = 0; y < 4; y++){
      console.log(y)
    for(var l = 0; l < 6; l++){
      document.write('*')
    }
      document.write('<br>')
    }


    1 是 y的 值 , 44行   y++ 是自增1    
   
    for(var y = 1; y <= 4; y++){
        for(var l = 1; l<= y; l++){
            document.write('*')
        }
            document.write('<br>')
    }