05.JavaScript-流程控制(分支结构与循环结构)

目录

一、什么是流程控制?

二、顺序结构

三、分支结构

1. if 分支语句

2. if else 双分支语句

3. if else if 多分支语句

4. 三元表达式

5. switch 分支语句

6. switch 和 if else if 的区别:

四、循环结构

1. for 循环

demo:求1-100之间所有整数的累加和

2. 双重 for 循环

demo:九九乘法表

3.while 循环 (当.... 时候)

demo:计算1-100之间所有整数的和

4. do while  循环

demo:计算1 - 100 之间所有整数的和

五、continue关键字和break关键字

1. continue 关键字

demo:求1-100之间,除了能被7整除之外的整数和

2. break 关键字

总结


一、什么是流程控制?

流程控制指的是控制代码按照什么顺序去执行!

流程控制分为:顺序结构分支结构循环结构!

二、顺序结构

顺序结构:指的是代码从上到下依次执行。是最基本、最简单的流程控制!


三、分支结构

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

1. if 分支语句

语法:

if (条件表达式) {

    //执行语句

}

执行思路: 如果条件表达式为真(true), 则执行大括号里的执行语句; 如果为假, 则执行 if 语句后面的代码

2. if else 双分支语句

 

语法: 

if (条件表达式) {

      // 执行语句1

} else {

     // 执行语句2

}

执行思路: 如果条件表达式为真, 则执行语句1; 如果条件表达式为假, 则执行语句2

3. if else if 多分支语句

 

语法: 

if (条件表达式1) {

    //执行代码1;

} else if (条件表达式2) {

    //执行代码2

} else if (条件表达式3) {

    //执行代码3

} else {

    //最后的语句

}

执行思路:先执行表达式1,如果满足就执行代码1,然后退出整个代码;如果不满足,执行条件表达式2,如果都不满足,则输出最后的语句

4. 三元表达式

三元表达式:? :  由三元运算符组成的式子叫做三元表达式   和 if  else 很像

语法结构: 条件表达式 ? 表达式1 : 表达式2

执行思路:如果条件表达式结果为真,则返回表达式1;如果为假,则返回表达式2。并且表达式是有返回值的!

数字补0 小demo

思路:数字补0,如果数字小于10,则在前面补0;如果大于10,则不需要补

var num = prompt('请输入数字');

var result = num < 10 ? '0' + num : num;

alert(result);

5. switch 分支语句

switch多分支语句,主要针对特定值的选项时,用switch,同样也是多选1

语法结构:

switch (条件表达式) {

    case value1 :

            执行语句1;

            break;  //退出语句

    case value2 :

            执行语句2;

            break;  //退出语句

    case value3 :

            执行语句3;

            break;  //退出语句

    default :

            执行最后的语句;

}

执行原理:条件表达式的值和value值相匹配,如果匹配上了就执行对应的case,然后退出语句;如果都没有匹配上,执行default。

注意:

  • 条件表达式的值和value值必须是全等关系,即值相同并且数据类型也要相同
  • 条件表达式经常写成变量

6. switch 和 if else if 的区别:

  1. 当case的值确定的时候,用switch;如果是判断范围的,使用if else if。
  2. 其次switch语句进行条件判断后直接执行到程序的条件语句,效率更高。而if else if 的语句条件有即个,就判断多少次
  3. 分支少的时候,if else if 效率比switch 高

四、循环结构

循环的目的:重复执行某些代码

1. for 循环

for循环:由循环体终止条件组成的语句,被称为循环语句

for循环重复执行某些代码,通常跟计数有关

语法结构:

for (初始化变量; 条件表达式; 操作表达式) {

    //循环体    

}

初始化变量:就是用var声明并且赋值的一个普通变量,通常用作计数器使用

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

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


demo:求1-100之间所有整数的累加和

// 需要一个存储变量的sum,初始值一定是0

// 核心算法:1+2+3+4+5+....  sum=sum+i;

var sum = 0;

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

     sum = sum + i;

}

console.log(sum);

2. 双重 for 循环

语法结构:

for (外层初始化变量; 外层条件表达式; 外层操作表达式) {

    for (内层初始化变量; 内层条件表达式; 内层操作表达式) {

            //执行语句

    }

}

执行思路:外层for循环执行1次,内层for循环执行全部;然后执行下一轮,外层for循环执行第二次,内层for循环执行全部,一次类推。


demo:九九乘法表

//    九九乘法表

        var str = '';

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

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

                // 1 x 2 = 2

                str = str + j + 'x' + i + '=' + j * i + '\t';

            }

            str += '\n';

        }

        console.log(str);

3.while 循环 (当.... 时候)

语法结构:

while (条件表达式) {

      //  循环体

}

执行思路:当条件表达式结果为真,则执行循环体;否则推出循环

注意:也需要有初始化变量;并且需要有操作表达式


demo:计算1-100之间所有整数的和

        // var sum = 0;

        // var i = 1;

        // while (i <= 100) {

        //     sum = sum + i;

        //     i++;

        // }

        // console.log(sum);

4. do while  循环

语法结构:

do {

    // 循环体

} while (条件表达式)

执行思路: 先执行一次循环体,在判断条件表达式是否为真,如果为真,则继续执行循环体;如果为假,则退出循环。至少有一次循环


demo:计算1 - 100 之间所有整数的和

        var sum = 0;

        var i = 1;

        do {

            sum += i;

            i++;

        } while (i <= 100)

        console.log(sum);


五、continue关键字和break关键字

1. continue 关键字

立即跳出本次循环,然后执行下一次循环

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

            if (i == 3) {

                continue; // 只要遇见continue 就退出本次循环,直接跳到 i++

            }

            console.log('我正在吃第' + i + '个包子');

        }

demo:求1-100之间,除了能被7整除之外的整数和

        var sum = 0;

        for (i = 1; i <= 100; i++) {

            if (i % 7 == 0) {

                continue;

            }

            sum += i;

        }

        console.log(sum);

2. break 关键字

直接退出整个循环

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

            if (i == 3) {

                break; // 只要遇见break ,直接推出整个循环

            }

            console.log('我正在吃第' + i + '个包子');

        }

总结

以上就是今天分享的关于JavaScript流程控制相关内容。流程控制分为顺序结构、分支结构和循环结构

"pink"的涵义是:拼尽全力!克服困难

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_LiuP

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值