流程控制

161 阅读4分钟

day02(流程控制)

理解什么是流程控制,知道条件控制的种类并掌握其对应的语法规则,具备利用循环编写简易ATM取款机程序能力

运算符

算术运算符

  • 加、减、乘、除、取模 (+, -, *, /, %)

  • 加号上下文

    • 如果+号左右只有一个值 解析的结果是正号 可用于隐式转换
    • 如果两边都是数值(Number)类型 则是+号运算符
    • +号的左右如果有一个数据是字符串数据类型的话 那么这个+号会被解析成连接符
  • 优先级

  • 案例

    • 对话框中输入圆的半径,算出圆的面积并显示到页面

赋值运算符 (=)

  • 将等号右边的值赋予给左边, 要求左边必须是一个容器
  • 累加 +=

一元运算符

  • 一元运算符: 仅操作一个操作数. 比如: 正负号等

  • 自增自减运算符

    • 相同点

      • 不管是++或者-- 是在前还是在后,都是在原来的取值上自行增1或减1 类似于 => a += 1
    • 不同点

      • 符号前置 => 先加1 再使用 (快捷记忆: ++在前 先加)
      • 符号后置 => 先使用 再加1 (快捷记忆: ++在后, 后加)
    • 面试题

逻辑运算符

  • 逻辑与
  • 逻辑或
  • 逻辑非

比较运算符

  • , < , >= , <= , == , === , != , !==

  • 重点介绍 等于和全等的区别, 推荐使用全等

  • 特殊说明

    • 如果是数字和"其他值"的比较 则其他值会自动转换成数字去比较
    • 涉及到"NAN"都是false (NaN)
    • 如果是"字符串"和"字符串"比较 则会比较每一个字符的ASCII码,同时是按位进行比较
    • 如果是布尔值参与比较 布尔值会转换成数字0和1

运算符优先级

  • 语句

表达式和语句

  • 表达式

    • 表达式是一组代码的集合,JavaScript解释器会将其计算出一个结果

      • x = 7
      • 3 + 4
      • num++
  • 语句

    • js 整句或命令,js 语句是以分号结束(可以省略)

      • if 条件语句
      • for 循环语句
  • 区别

    • 达式计算出一个值,但语句用来自行以使某件事发生。

      • 表达式 3 + 4
      • 语句 alert() 弹出对话框

语句分类

  • 顺序语句
  • 分支语句
  • 循环语句

分支语句

  • if分支

    • 单条分支

      • 案例

        • 用户输入高考成绩,如果分数大于700,则提示恭喜考入黑马程序员
    • 双分支

      • 案例

        • 1.用户输入,如果工龄大于1年,年底奖金+2000, 否则年底没奖金
        • 2.让用户输入年份,判断这一年是闰年还是平年并输出
    • 多条分支

      • 案例

        • 根据输入不同时间,输出不同的问候语
        • 作业--输入分数,根据分数奖励不同的车(评级)
  • 三元运算符

    • 条件 ? 表达式1 : 表达式2

    • 对比if两条分支的区别

    • 练习案例

      • 两个数的最大值

      • 数字补0案例

        • 09
  • switch case

    • 出现定值判断使用

    • 特点说明

        1. switch case语句一般用于等值判断,不适合于区间判断
        1. switch case比较的值全等 ===
        1. switch case一般需要配合break关键字使用 没有break会造成case穿透
    • 案例

      • 简单加法器
  • 分支语句的综合

    • if 分支

      • 使用的最多的分支语句 任何情况下都可以通用
    • 三元运算

      • 可以简单理解为两条分支的简写形式,一些简单的两条分支可以使用三元运算符代替
      • 相较正常的两条分支语句来说多了一个返回值
    • switch case语句

      • 当出现了定值判断的时候可以使用
    • 多分支语句和switch的区别

断点调试

  • 是为了演示循环语句的过程
  • debugger 关键字

循环语句

  • while循环

    • 语法

    • 练习

        • 打印1-100以内 所有偶数
        • 打印1-100的和
        • 打印1-100以内所有偶数的和
  • while的使用场景介绍

    • 更适合使用在循环的次数不确定时候使用

    • 练习

      • 询问“我爱你,嫁给我吧?”,如果输入为“嫁” 跳出循环打印 “我们形影不离”,否则一直询问
      • 让用户输入用户名和密码,只有当用户名=admin并且用户密码=123456的时候才提示登录成功(跳出循环),否则一直让用户输入
      • while (true) { if (条件) { break; } } // break: 可以用来跳出循环
  • do while 循环(课下了解)

  • 综合案例

    • 存钱取钱案例