美文网首页
2023-02-28_JSDay03流程控制语句

2023-02-28_JSDay03流程控制语句

作者: 远方的路_ | 来源:发表于2023-02-27 18:54 被阅读0次

流程控制语句

if语句

  • 单分支
// 条件表达式为真值则会执行{}代码体内的语句
if (/* 条件表达式 */) {
  // 代码体
}
  • 双分支
// 双分支
if(/* 条件表达式 */){
    // 结果为真执行
}else{
    // 结果为假执行
}
var age = 20;
if(age >= 18){
    console.log('成年了')
}else {
    console.log('未成年')
}
  • 多分支
if (/* 条件表达式1 */){
  // 成立执行语句
} else if (/* 条件表达式2 */){
  // 成立执行语句
} else if (/* 条件表达式3 */){
  // 成立执行语句
} else {
  // 上面条件表达式都不为满足,则执行这里
}
var week = 1;
if(week === 1){
    console.log('星期一')
}else if(week === 2) {
    console.log('星期二')
}else if(week === 3) {
    console.log('星期三')
}else {
    console.log('不是星期一、二、三')
}

 从浏览器中接受用户输入的值:
// prompt函数作用:从浏览器中接受用户输入的值,默认值为100,
// prompt函数返回的是字符串类型的值。若需要得到数值,则需要转换。若没有输入则返回一个null
var age = prompt("请输入年龄?",100);

age = +age; // 转为number类型
if (age >= 18){
  alert("成年");
}else {
  alert("未成年");
}

switch多分支语句

语法格式:

常量就是固定值

switch (条件表达式) {
  case 常量1:
    // 语句1;
    break;
  case 常量2:
    // 语句2;
    break;
  case 常量3:
    // 语句3;
    break;
  case 常量n:
    // 语句n;
    break;
  default:
    // 上面都不成立 执行这里语句;
    break;
}

注意:

  • switch 语句在比较值时使用的是全等运算符(===)
  • break代表跳出的意思,如果省略,代码会继续匹配下一个case
  • switch语句它在功能上和if多分支语句很相似
    • 如果是范围的判断只能使用if多分支语句
    • 如果是固定值之间的判断, 推荐使用switch语句,更加直观点。
 多分支:输入数字打印对应星期
        // var week = 6
        // if (week === 1) {
        //     console.log('今天是星期一');
        // } else if (week === 2) {
        //     console.log('今天是星期二');
        // } else if (week === 3) {
        //     console.log('今天是星期三');
        // } else if (week === 4) {
        //     console.log('今天是星期四');
        // } else if (week === 5) {
        //     console.log('今天是星期五');
        // } else {
        //     console.log('今天是周末,非常happy')
        // }
        // switch实现上面的功能
        var week = 1;
        switch (week) {
            case 1:
                console.log('今天是星期一');
                break; // break退出当层循环
            case 2:
                console.log('今天是星期二');
                break;
            case 3:
                console.log('今天是星期三');
                break;
            case 4:
                console.log('今天是星期四');
                break;
            case 5:
                console.log('今天是星期五');
                break;
            default:
                console.log('今天是周末,非常happy')
        }

循环结构

  • for语句

for (1初始化变量; 2条件表达式; 3自增/自减表达式) {
  // 4代码体
}
  • 案例:
    • 打印1-100之间所有偶数的和
        var total = 0;
            for (var i = 1; i <= 100; i++) {
                if (i % 2 === 0) {
                    total += i;
                }
            }
            console.log('1-100偶数和为:', total);
  • 打印出 2000-4000之间的闰年
    闰年:能被4整除且不能被100整除的年份 或者 能被400整除的年份
for (var i = 2000; i <= 4000; i++) {
                if ( (i % 4 === 0 && i % 100 !== 0) || i % 400 === 0) {
                    console.log(i);
                }
            }
  • 打印出 100-200之间能够被3整除或4整除的数
            for (var i = 100; i <= 200; i++) {
                if (i % 3 === 0 || i % 4 === 0) {
                    console.log(i);
                }
            }

while循环语句

基本语法:
// 当循环条件为真值时,才执行代码体,
while (条件表达式) {
  // 代码体
}
  • 案例:打印1~10之间的数
//打印1~10之间的数 循环10次 
var i = 1;
while(i<=10){
    console.log(i);
    i++;
}
  • 案例:打印1~100以内的奇数
var i = 1; 
while(i<=100){
    console.log(i);
    i = i+2;
}
  • 案例:打印100以内所有偶数的和
var i = 1;
var sum = 0; //用于存储每次相加的和
while(i<=100){
    if(i % 2 === 0){
        sum = sum +i;
    }
    i++;
}
console.log(sum);

do...while语句

do..while循环和while循环非常像。
但是do..while的特点:先执行一次循环体,再进行判断

while: 先给钱后消费
do-while: 先消费后给钱

  • 案例:求1+2+3+...+100的和。
// 初始化变量
var i = 1;
// 累加和
var sum = 0;
do {
  sum += i;//循环体
  i++;//自增
} while (i <= 100);//循环条件

continue和break

  • continue: 跳出本次循环,继续下一次循环。
  • break: 跳出当层循环。

注意:如果有多层循环嵌套,在内层中break,仅会跳出内层循环,外层循环依然照常执行。
break案例: 一共10个馒头,准备要吃第五个时,发现吃不下了,后面的也就不吃了

for(var i=1;i<=10;i++){
    if(i == 5){
        break; // 跳出当层for循环
    }
    console.log("吃第"+i+"个馒头<br/>");
}

continue案例:一共10个饺子,当看到第五个饺子没熟。这个饺子就不吃了,接着吃剩下的。

for(var i=1;i<=10;i++){
     if(i == 5){
         continue; // 继续下一次循环,意味着下面代码不会执行
     }
     console.log("吃第"+i+"个饺子<br/>");
}
  • 案例:判断质数

质数条件: 仅能被自身和1整除 。如 2, 3, 5, 7, 11,13、17、19、23、29等都是质数。

  • 如18 就不是质数,因为可以被2 、3、6、9整除
  • 20也不是质数,因为可以被2 、4、5,10整除
var flag = true; // 定义一个标志,假设是质数
        var number = 7;
        for (var i = 2; i < number; i++) {
            // 拿着比7小的数 2 3 4 5 6 依次求余进行判断,余数等于0,说明就不是质数
            if (number % i === 0) {
                // console.log(number + '不是质数')
                flag = false;
                break; // 发现不是质数,后面就没有必要在循环了,可以提高速度
            }
        }
        if (flag) {
            console.log(number + '是质数')
        } else {
            console.log(number + '不是质数')
        }

理解双层循环(套娃)

  • 打印1-100内的质数。
  • 质数条件: 仅能被自身和1整除 。如 2, 3, 5, 7, 11,13、17、19、23、29等都是质数。
  • 如18 就不是质数,因为可以被2 、3、6、9整除
  • 20也不是质数,因为可以被2 、4、5,10整除
// 当循环到5时,要对比它小的数如 2,3、4 进行依次求余,若等于0,则不是质数 
// 当循环到6时,要对比它小的数如 2,3、4,5 进行依次求余,若等于0,则不是质数  
for(var i = 2; i < 100; i++){
    var flag = true; // 假设当前i是质数
    for(var j = 2; j < i; j++){
        if(i % j === 0 ){
            // 说明不是质数
            flag = false;
            break; // 后面没必要判断,直接退出当层for循环
        }
    }
    if(flag){
        console.log(i + '是质数')
    }
}
  • 正三角形
var htmlStr = ''
 // 外层控制层数
 for (var i = 1; i <= 6; i++) {
    // 内存控制星星的个数
     for (var j = 1; j <= i; j++) {
        htmlStr += "*"
     }
    htmlStr += '<br />'
 }
 document.write(htmlStr)
  • 倒三角形
第一种写法: 
// i=1层 6个*    相加等于7,  7 - i 
// i=2层 5个*
// i=3层 4个*
// i=4层 3个*
// i=5层 2个*
// i=6层 1个*
var num = 6
var htmlStr = ''
// 外层控制层数
for (var i = 1; i <= num; i++) {
    // 内存控制星星的个数
    for (var j = 1; j <= num + 1 - i; j++) {
        htmlStr += '*'
    }
    htmlStr += '<br />'
}
document.write(htmlStr)

第二种写法: 
 for (var i = 1; i <= 6; i++) {
                for (var j = 6; j >= i; j--) {
                    document.write('*');
                }
                document.write('<br>')
            }
  • 九九乘法表

    第一种写法:
             for (var i = 1; i <= 9; i++) {
                document.write('<div>')
                for (var j = 1; j <= i; j++){
                    document.write('<span>'+ j + '\n x \n' + i + '\n = \n' + (j * i) + '\t' + '</span>');
                }
                document.write('</div>')
            }
       二:
            var str = '';
            // 外循环控制行数
            for (var row = 1; row <= 9; row++) {
                str += '<div>'
                for (var col = 1; col <= row; col++) {
                    // 内循环控制列数
                    // 1 * 2 = 2;   2 * 2 = 4;
                    // 列 x 行 = 列 * 行
                    str += '<span>' + row + 'x' + col + ' = ' + row * col + '</span>'
                }
                str += '</div>'
            }
            document.write(str);

相关文章

  • JavaScript-流程控制语句

    一、if流程控制语句 二、switch流程控制语句 三、流程控制语句

  • 【骚全带你学Java---八、流程控制语句】

    java的流程控制语句包含条件语句和循环语句 一.什么是流程控制语句? ·流程控制语句:可以控制程序的执行流程。 ...

  • 03学习Python

    学习记录,欢迎指出错误 流程控制 Python中流程控制语句有 if语句 for语句 while语句 if语句 在...

  • 2018-12-11

    流程控制 流程控制语句:--条件判断语句--条件分支语句--循环语句 条件判断语句(if语句) 语法:if(条件表...

  • Python基础重构-1.3流程控制

    流程控制语句 流程控制语句用来实现对程序流程的选择、循环和返回等进行控制,Python中主要的流程控制包括if(判...

  • Shell流程控制

    Shell流程控制 简单流程控制语句 单分支if语句 语法格式 双分支if语句 语法格式 多分支if语句 语法格式...

  • # shell流程控制语句

    shell流程控制语句 任何编程语言都离不开流程控制语句,其实编程基本上就是掌握了流程控制语句,然后加上函数(或者...

  • 流程控制语句、条件判断语句、多重条件判断语句、数组、数组、数组常

    流程控制语句:通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行 语句分类: 1.条...

  • Python程序结构

    2018年6月27日笔记 python流程控制 1.python流程控制语句结构 4种流程控制语句结构:ifif ...

  • day2.5_流程控制

    程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。其流程...

网友评论

      本文标题:2023-02-28_JSDay03流程控制语句

      本文链接:https://www.haomeiwen.com/subject/pfohldtx.html