zoukankan      html  css  js  c++  java
  • 05-流程控制

    控制语句分为 3 类:顺序、选择和循环。这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过它们来表达。

    1. 选择结构

    在还没有知道选择结构的时候,编写的程序总是从程序入口开始,顺序执行每一条语句直到执行完最后一条语句结束。但是生活中经常需要进行条件判断,根据判断结果决定是否做一件事情,这就需要选择结构

    1.1 if 选择结构

    • 条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量
    • 语句块只有一条执行语句时,{}可以省略
    • if-else 语句结构,根据需要可以嵌套使用
    • 当 if-else 结构是“多选一”时,最后的 else 是可选的,可根据需要省略
    • 注意【顺序】!
      • 当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓
      • 当多个条件是“包含”关系时,遵循“小上大下 / 子上父下”
    • 练习

    1.2 switch 多选择结构

    • switch 表达式限定:byte、short、char、int、枚举、String
    • case 限定:其后必须是一个具体常量且所有 case 子句中的常量值必须互不相同
    • switch 语句会根据表达式的值相匹配的 case 标签处开始执行,一直执行到 break 语句处或者是 switch 语句的末尾。如果表达式的值与任一 case 值不匹配,则进入 default 语句(如果存在 default 语句)
    • break 可选。用来在执行完一个 case 分支后使程序跳出 switch 语句块;但如果不加,就会出现"case 穿透"
    • default 可选。并且 default 不一定非要放在最后,可以放在任意位置
      • 但要注意,就算你把 default 放在最上边,也并不会先执行 default,只有在 case 中找不到相同的值的时候才会去执行default。
      • 如果 default 放在最后,加不加 break 无所谓,反正到末尾了;但如果你随便放,又不想 case 穿透,得加上 break。
    • 练习
      • 成绩大于 60,输出"及格";反之,"不及格"
      • 输出 year.month.day 为该年的第几天

    1.3 if & switch

    • 使用 switch-case 的,都可以改写为 if-else;反之不成立
      • 当布尔表达式是 等值判断 的情况,使用 if-else if-else多选择结构 或者 switch结构 均可
      • 如果布尔表达式是 区间判断 的情况,则只能使用 if-else if-else多选择结构
    • 如果两种语句都可以使用,建议使用 swtich 语句,效率稍高

    2. 循环结构

    2.1 for

    2.2 while

    2.3 do...while

    3. exercise



    4. 嵌套循环

    • 在一个循环语句内部再嵌套一个或多个循环,称为“嵌套循环”。
    • while、do-while 与 for 循环可以任意嵌套多层


    5. 程序流程控制

    • break;
      • break 用于强行退出当前循环,不执行循环中剩余的语句
      • 不仅能用于循环语句中,还能用在 switch-case 中
    • continue;
      • continue 语句仅用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句。
      • 接着进行下一次是否执行循环的判定
        • 用在 while,do-while中,continue 语句立刻跳到循环首部,越过了当前循环的其余部分。
        • 用在 for 循环中,跳到 for 循环的迭代因子部分。
    • 带标签的 break 和 continue
      • "标签" 是指后面跟一个冒号的标识符,例如:label:
      • 对 Java 来说唯一用到标签的地方是在循环语句之前
      • 在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于 break 和 continue 关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
    • return;
      • 并非专门用于结束循环的,它的功能是结束一个方法。
      • 当一个方法执行到一个 return 语句时,这个方法将被结束。
      • 与 break 和 continue 不同的是,return 直接结束整个方法,不管这个 return 处于多少层循环之内。

    总结:

  • 相关阅读:
    Mongodb-SpringData
    Node-Vue
    SpringBoot-SpringCloud
    WebSocket-WebService
    Scala_学习
    GO_学习
    页面分页
    页面分页
    如何将域名部署到Tomcat中,用域名访问服务器
    如何将域名部署到Tomcat中,用域名访问服务器
  • 原文地址:https://www.cnblogs.com/liujiaqi1101/p/12793357.html
Copyright © 2011-2022 走看看