首页 > 其他分享 >04-流程控制+循环

04-流程控制+循环

时间:2023-01-07 21:33:35浏览次数:38  
标签:语句 04 流程 else 循环 var 执行 表达式

(一):流程控制介绍

流程控制主要有三种结构,分别是顺序结构分支结构循环结构,这三种结构代表三种代码执行的顺序

image-20221228205238011
  • 顺序流程控制

顺序结构是程序中最简单的、最基本的流程控制,他没有特定的语法结构,程序会按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

  • 分支流程控制

分支结构由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果。

1:if语法结构

  1. 程序默认从上到下一句一句代码执行, 这就是顺序结构

  2. 若是某一行代码出现了错误, 则后面的代码无法执行

    执行流程

    image-20221228210606176

 <script>
      /*
      1:语法结构 if(如果)  else(否则)
      if (条件表达式) {
            执行语句1
      } else {
            执行语句2
      }
      2:思路:如果表达式结果为真 那么执行语句1  否则执行语句2
      3:if里面的语句1 和else里面的语句2 最后只有1个语句执行, 2选1
       */

      var age = prompt("你今年的岁数?");
      if (age >= 18) {
        alert("欢迎光临");
      } else {
        alert("滚");
      }
    </script>

2: if else双分支语句

执行流程

image-20221228210652736

 <script>
      /*
      1:语法结构 if(如果)  else(否则)
      if (条件表达式) {
            执行语句1
      } else {
            执行语句2
      }
      2:思路:如果表达式结果为真 那么执行语句1  否则执行语句2
      3:if里面的语句1 和else里面的语句2 最后只有1个语句执行, 2选1
       */

      var age = prompt("你今年的岁数?");
      if (age >= 18) {
        alert("欢迎光临");
      } else {
        alert("滚");
      }
 </script>

3:if else if 双分支语句

image-20221228210902640

 <script>
      /* 1:多分支语句 就是利用多个条件来选择不同的语句执行,从而得到不同的结果,就是多选1的过程。

      2:if else if语句是多分支语句

      3:执行思路
      (1):如果条件表达式1满足就执行语句1,执行完毕后,退出整个if分支语句
      (2):如果条件表达式1不满足,则判断条件表达式2,满足的话就执行语句2,以此类推
      (3):如果上面的所有表达式都不成立,则执行else里面的语句
      
      4:注意点
      (1):多分支语句,最后只能有一个语句执行
      (2):else if 理论上是可以任意多个的
      (3):else if 中间必须加空格

       */
      if (条件表达式1) {
        //执行语句1
      } else if (条件表达式2) {
        //执行语句2
      } else if (条件表达式3) {
        //执行语句3
      } else {
        //最后的执行语句
      }
    </script>

判断成绩案例

    <script>
      /* 一般按照从大到小判断的思路 
      1: 让用户输入成绩
      2:100-90优秀 89-80良好 79-70一般  69-60及格 59-0不及格 
      其他:请输入1-100数字(内部处理)
      3:显示给用户 */
      var score = prompt("请输入您的成绩");
      if (score >= 90) {
        alert("优秀");
      } else if (score >= 80) {
        alert("良好");
      } else if (score >= 70) {
        alert("一般");
      } else if (score >= 60) {
        alert("及格");
      } else {
        alert("不及格");
      }
    </script>

4:三元表达式

<script>
      /* 1:有三元运算符组成的式子称为三元表达式
      2:++num(一元) 1 + 2(二元)  ?:(三元)
      3:语句结构: 条件表达式 ? 表达式1 : 表达式2
      4:执行思路:
      如果条件表达式1的结果为真则返回表达式1的值,如果条件表达式1的结果为假,则返回  	  表达式2的值
       */
      var num = 10;
      var result = num > 5 ? "yes" : "no";
      console.log(result);

      /*if (num > 5) {
        result = "yes";
      } else {
        result = "no";
      } */
    </script>

5:switch语句

switch语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用switch。

语法结构:

  <script>
      /*1:switch语句是多分支语句 也可以实现多选一;
          2:case是选项的意思
          3:执行思路:利用表达式的值和case后面的选项值相匹配,如果匹配上,就执行		  该case里面的语句,如果都没有匹配上,那么执行default里面的语句
         */
      switch (表达式) {
        case value1:
          执行语句1;
          break;
        case value2:
          执行语句2;
          break;
        //   ..... 此处省略100个
        default:
          执行最后的语句;
      }
    </script>

案例:
<script>
      var num = 5;
      switch (num) {
        case 1:
          console.log(1);
          break;
        case 2:
          console.log(2);
          break;
        case 3:
          console.log(3);
          break;
        default:
          console.log("没有查询到哦");
      }
</script>

注意事项:

1:在实际开发里面表达式我们经常写成变量

​ 2:num里面的值和case里面的值相匹配的时候必须是全等的, 值和数据类型一致才可以

​ 例如:num === 1

​ 3:如果当前的case 里面没有break,则不会退出switch,而是继续执行下一个case

(二):循环介绍

语法结构(单层for循环)

1: for 表示重复执行某些代码, 通常跟计数有关系

​ 2:for语法结构:

for(初始化变量,条件表达式,操作表达式){
    循环体
   }

​ 3:初始化变量 用var声明的一个普通变量,通常用于计数器使用

​ 4:条件表达式 用来决定每一次循环是否继续执行,就是终止的条件

​ 5:操作表达式 每次循环最后执行的代码 经常用于计数器变量进行更新(递增或者递减)

​ 6:代码体验,重复打印100句 你好,世界

 <script>
      for (var i = 1; i <= 100; i++) {
        console.log("你好,世界");
      }
</script>

1:执行过程

1:首先执行里面的计数变量 var i = 1 但是这句话在for循环里只执行一次

2:用i <= 100 来判断是否满足条件,如果满足条件就去执行循环体,如不不满条件就退出循环

3:最后去执行i++ i++是单独写的代码(递增)

4:然后又去执行i <= 100 来判断是否满足条件,如果满足条件就去执行循环体,如不不满条件就退出循环

    <script>
      for (var i = 1; i <= 100; i++) {
        console.log("世界,你好");
      }
    </script>

2:执行相同代码

  <script>
      //可以让用户输入次数
      var num = prompt("请输入次数");
      for (var i = 1; i <= num; i++) {
        console.log("你好,世界");
      }
    </script>

3:执行不同代码

 <script>
      for (var i = 1; i <= 100; i++) {
        if (i == 1) {
          console.log("这个人1岁了");
        } else if (i == 100) {
          console.log("这个人100岁了");
        } else {
          console.log("这个人今年" + i + "岁了");
        }
      }
  </script>

4:循环重复某些操作

<script>
      var sum = 0;
      for (var i = 1; i <= 100; i++) {
        // sum = sum + i;
        sum += i;
      }
      console.log(sum);
</script>

5:求学生成绩案例

​ 弹出输入框输入总的班级人数(num)
​ 依次输入学生的成绩(保存起来 score),此时我们需要用到
​ for 循环, 弹出的次数跟班级总人数有关系 条件表达式i<=num
​ 进行业务处理:计算成绩。 先求总成绩(sum),之后求平均成绩(average)
​ 弹出结果

 <script>
      var num = "请输入班级总人数";
      var sum = 0;
      var average = 0;
      for (var i = 1; i <= num; i++) {
        var score = prompt("请你输入第" + i + "个学生成绩");
        sum = sum + parseFloat(score);
      }
      average = sum / num;
      alert("班级总成绩是" + sum);
      alert("班级平均分是" + average);
    </script>

6:一行打印5颗星星

   <script>
      var num = prompt("请输入星星的个数");
      var str = "";
      for (var i = 1; i <= num; i++) {
        str = str + "☆";
      }
      console.log(str);
    </script>

双重for循环

  <script>
      /* 1:双重for循环,语法结构:
        for(外层的初始化变量;外层的条件表达式;外层的操作表达式){
            for(里层的初始化变量;里层的条件表达式;里层的操作表达式)
            执行语句
        }
        2:可以把里层的循环语句看做成外层的循环语句
        3:外层循环一次,里层循环执行全部
        4:代码验证:*/

      for (var i = 1; i <= 3; i++) {
        console.log("这是外层循环的第" + i + "次");
        for (var j = 1; j <= 3; j++) {
          console.log("这是里层循环的" + j + "次");
        }
      }
    </script>

1:打印五行五列星星

<script>
      var str = "";
      //外层循环负责打印五行
      for (var i = 1; i <= 5; i++) {
        //里层循环负责一行打印五个星星
        for (var j = 1; j <= 5; j++) {
          str = str + "☆";
        }
        //如果一行打印完毕后5个星星就要另起一行显示
        str = str + "\n";
      }
      console.log(str);
</script>

2:打印倒三角形案例

 <script>
      var str = "";
      for (var i = 1; i <= 10; i++) {
        for (var j = i; j <= 10; j++) {
          str = str + "☆";
        }
        str = str + "\n";
      }
      console.log(str);
</script>

3:打印九九乘法表

1: 首先,它定义了一个空字符串 str,然后使用第一层循环迭代从 1 到 9 的整数。在每次迭代中,它使用第二层循环迭代从 1 到当前迭代值的整数。在每次迭代中,它将输出形式为 "j x i = i * j" 的字符串,并将其拼接到 str 字符串的末尾。例如,在第一次迭代中,它会输出 "1 x 1 = 1",在第二次迭代中,它会输出 "1 x 2 = 2" 和 "2 x 2 = 4"。

2: 在第一层循环的每次迭代之后,它还会将换行字符 \n 拼接到 str 字符串的末尾,以便在输出乘法表时显示换行。

3: 最后,它使用 console.log() 函数将 str 字符串输出到控制台。输出的结果将是一个乘法表,每行都由对应的乘法算式组成,表格的每一行都在输出中单独一行。

  <script>
      var str = "";
      for (var i = 1; i <= 9; i++) {
        for (var j = 1; j <= i; j++) {
          //1 x 2 = 2
          str += j + "x" + i + "=" + i * j + "\t";
        }
        str += "\n";
      }
      console.log(str);
  </script>

while循环

1: while 循环语法结构

while(条件表达式){
     循环体
    }

​ 2:执行思路:当条件表达式结果为true时则执行循环体,否则退出循环

​ 3:里面应该有计数器和初始化变量

​ 4:里面也应该有操作表达式 完成计数器的更新,防止死循环

​ 5:代码验证↓

 <script>
  
      var num = 1;
      while (num <= 100) {
        console.log("hello,word");
        num++;
      }
</script>

1:while循环案例

 <script>
      // 1:打印人从1~100岁
      var i = 1;
      while (i <= 100) {
        console.log("这个人今年" + i + "岁了");
        i++;
      }

      //2:计算1~100之间所有的和
      var j = 1;
      var sum = 0;
      while (j <= 100) {
        sum = sum + j;
        j++;
      }
      console.log(sum);

      //3:弹出一个提示框你爱我吗?  如果输入我爱你,就提示结束,否则,一直询问
      var love = prompt("你中意我吗?");
      while (love != "中意") {
        love = prompt("你中意我吗?");
      }
      alert("我也中意你");
    </script>

do whild循环

1: do while 语法结构

    do {
      循环体
     } while (条件表达式);

2: 执行思路 跟while不同的地方在于do while先执行一次循环体,在判断条件表达式,如果条件表达式结果为真,则继续执行循环体,否则退出循环

3: do 里面的循环体至少循环一次

4: 代码验证 ↓

  <script>
      var i = 1;
      do {
        console.log("hello,word");
        i++;
      } while (i <= 100);
    </script>

1:do while循环案例

  <script>
      // 1:打印人从1~100岁
      var i = 1;
      do {
        console.log("这个人今年" + i + "岁了");
        i++;
      } while (i <= 100);

      //2:计算1~100之间所有的和
      var sum = 0;
      var j = 1;
      do {
        sum = sum + j;
        j++;
      } while (j <= 100);
      console.log(sum);

      //3:弹出一个提示框你爱我吗?  如果输入我爱你,就提示结束,否则,一直询问
      do {
        var love = prompt("你中意我嘛?");
      } while (love != "中意");
      alert("我也中意你");
    </script>

continue 和 break

  • for循环添加continue, continue后面的语句不再执行, 直接进入下一次循环
  • for循环添加break后, 当符合break条件, 退出循环

continue案例:

 <script>
      //continue关键字 退出当前次循环,继续执行剩余次数循环
      for (var i = 1; i <= 5; i++) {
        if (i == 3) {
          continue; //只要遇见continue 就退出本次循环,直接跳到i++;
        }
        console.log("我正在吃第" + i + "个包子");
      }

      //求1~100之间,除了能被7整除之外的整数和
      var sum = 0;
      for (var i = 1; i <= 100; i++) {
        if (i % 7 == 0) {
          continue;
        }
        sum += i;
      }
      console.log(sum);
    </script>

break案例

  <script>
      for (var i = 1; i <= 5; i++) {
        if (i == 3) {
          break;
        }
        console.log("我正在吃第" + i + "个包子");
      }
   </script>

标签:语句,04,流程,else,循环,var,执行,表达式
From: https://www.cnblogs.com/jokerwen/p/17033600.html

相关文章