循环语句( while && do while && for && 循环控制语句)

一、while 循环语句

1.循环:重复执行一段代码

​ + 代码内的循环就是数数

​ + 通过数字的变化决定循环的次数

2.循环三要素

​ 2.1开始:从几开始数数

​ 2.2 结束:数到多少结束

​ 2.3 步长:数数的间隔

3.while语句格式

​ 3.1 while(条件){ 代码段 }

​ 3.2 当条件满足时,执行 { } 里的代码段

​ + 执行完毕,再次进行条件判断

​ + 如果条件满足,再次执行 {} 中的代码段

​ + 一次类推,直到条件不满足

​ + 循环结束

​ 3.3 循环注意事项:一定要改变初始值

​ 3.4 循环提供了什么东西

​ + 重复执行代码的能力

​ + 一组有规律的数字

4.练习

​ 4.1在控制台输出 1~ 100 之间 3 的倍数

    // 方案1: 基础循环
    //   1. 拿到 1 ~ 100 之间的所有数字
    //      循环开始: 1
    //      循环结束: <= 100
    //      循环步长: +1
    var n = 1
    while (n <= 100) {
      // 判断, 如果当前这个 n % 3 === 0 才进行输出
      if (n % 3 === 0) console.log(n)
      n++
    }
    // 方案2: 直接锁定数字
    //  第一个 3的倍数是 3
    var n = 3
    while (n <= 100) {
      console.log(n)

      // 步长设置为 +3
      n += 3
    }

二、do while 循环语句

1.do while

​ 1.1 格式:do { 代码段 } while { 条件 }

​ 1.2 执行过程 :

​ + 先执行一遍代码,在进行条件判断

​ + 如果条件满足继续执行代码

​ + 如果条件不满足结束循环

2.和 while 的区别

​ 2.1 当初始内容在条件内的时候,while 和do while 循环没有区别

​ 2.2 当在条件外的时候

​ + while 循环一次也不会执行

​ + do while 会执行一次代码

3.练习

​ 3.1 在页面家一耳光密码(输入正确的内容,关闭 prompt 弹出层,否则一直开启)

    /*
      实现业务的逻辑
        1. 打开页面就要弹出一个输入框, 让用户输入密码
        2. 开始判断你输入的对不对
          => 如果不对, 再次执行弹出输入框的代码
          => 再次判断
          => 如果对, 不再执行弹出输入框的代码
    */   
do {
      // 弹出输入框
      var res = prompt('你爱不爱我 ?')
    } while (res !== 'yes')

    alert('滚犊子')	

三、for 循环语句

1.语法:

​ 1.1 for(初始变量;条件判断;修改初始值) { 代码段 }

2.练习

​ 2.1 寻找三次自幂数(水仙花数字)

​ + 保证是一个三位数

​ + 数字每一位的 三次幂 之和 和这个数字相等

for(var i = 100; i <= 999; i++){
    var a = parseInt(i / 100)
    var b = parseInt(i % 100 / 10)
    var c = i % 10
    
    if(a ** 3 + b ** 3 + c ** 3 === i)    console.log( i + "是三次自幂数")
}

四、循环控制语句

1. break :是一个关键字

​ 1.1 挡在循环中遇到这个 break 的时候,会直接结束本次循环

2. continue:是一个关键字

​ 2.1 当你在循环内遇到这个 continue 的时候,会直接结束循环的本次,去到下一次

3.循环控制标记语法

​ 3.1 可以在循环开始确立标记

    for (var i = 1; i <= 5; i++) {
      console.log('我吃了第 ' + i + ' 个包子')

      if (i === 3) {
        console.log('我吃饱了')
        // 在需要的时候书写一个 break 关键字
        break
      }
    }

​ 3.2 在循环内 break 和 continue 关键字在书写的时候,后面加上标记

    for (var i = 1; i <= 5; i++) {
      console.log('我拿起了第 ' + i + ' 个包子')

      if (i === 3) {
        console.log('这个包子掉地下了')

        continue
      }

      console.log('我吃掉了第 ' + i + ' 个包子')
      console.log('-------------------------')
    }

​ 3.3 直接回到标记位置

   //当 i = 3 && j = 3 的时候 执行 break a  
   //结束 a 标记的 for循环
	a:
    for (var i = 1; i <= 5; i++) {
      console.log('我拿起了第 ' + i + ' 个包子')

      // 循环嵌套
      b:
      for (var j = 1; j <= 3; j++) {
        console.log('吃第 ' + i + ' 个包子的第 ' + j + ' 口')

        if (i === 3 && j === 1) {
          console.log('发现了半条虫子')

          // 直接结束有标记的循环
          break a
        }
      }

      console.log('第 ' + i + ' 个包子吃完了')
      console.log('---------------------')
    }
上一篇:用For或While循环写出99乘法表


下一篇:(Ⅱ)Java学习笔记