Skip to content

Latest commit

 

History

History
213 lines (149 loc) · 5.2 KB

277-233769-打破循环_break_跳出循环.sy.md

File metadata and controls

213 lines (149 loc) · 5.2 KB
show version enable_checker
step
1.0
true

break 中断条件

回忆

  • 上次深入了循环
  • 明确了循环的核心
    • 循环条件
    • 只要满足循环条件就会不断循环
    • 甚至死循环
  • 循环中可以改变某些变量
    • 然后再用变量当做循环条件的因素
    • 就可以控制循环次数
    • 可以遍历某些元素
  • 我想把中文所有的基础字符遍历一遍可以么?🤔

unicode 范围

图片描述

图片描述

  • 基本范围在(4e00)16-在(9FA5)16
  • 那我们来遍历一次

遍历字符

图片描述

  • 控制好初始值
  • 控制好结束值
  • 每隔一行
  • 输出是没有问题的
  • 但是我想要一行 16 个字符可以么?

格式输出

图片描述

图片描述

  • 格式输出是没有问题的
  • 但是我想要到某个字符的时候才开始
  • 不是从 4e00 开始
  • 而是从字开始
  • 遇洪而开
  • 可以么

遇洪而开

图片描述

图片描述

  • 本来是应该从 4e00 一直循环到 9f95 的
  • 但是一旦遇到了这个字
  • 就会运行 break
  • 就会打碎原来循环的完整性
  • 整个循环被破坏
  • 然后跳出循环
  • 执行下面的内容
  • 不过这个例子有点复杂
  • 我们换一个简单点的

循环亿次

图片描述

图片描述

  • 这个循环
  • 正常要循环一亿次
  • 没完没了
  • 我要在 7 这个位置
  • 直接打断他的施法

打断施法

图片描述

图片描述

  • 一遇到七这个数字
  • 就 break 打断
  • 跳出循环
  • 这个 break 到底什么意思

break 的词源

图片描述

  • 把原来的固态的东西暴力地弄成碎片
  • 这就是 break
  • 遇到什么情况就打碎循环
  • 跳出绕圈
  • 这在生活中很常见

做菜

  • 锅烧热之后需要用葱姜蒜炝锅
  • 我们其实是在循环等待的过程中
  • 究竟等多久?

图片描述

  • 一般来说闻到香味就可以继续
  • 调味料的目的就是香味出现
  • 不出现不行
  • 一出现就可以 break 这个流程往后走
  • 如果是英文字符
    • az
  • 我想在遇到o的时候跳循环
  • 怎么办?

遇 o 则断

图片描述

图片描述

  • 到 o 可以截至
  • 但是还是把 o 给打出来了
  • 如果不想让 o 出现
  • 应该怎么办?

截止条件

图片描述

  • 上来就做判断
  • 满足条件就打断
  • 不管后面的东西是啥!
  • 就这么坚决
  • 后面的打印啥的绝对不会被执行

图片描述

  • 如果我想的是遇 o 则开始呢?

遇 o 而开

图片描述

图片描述

  • 可以输出
  • 但是第一个 o 丢了

调整

图片描述

  • 9、10 两句颠倒次序
  • 但是他是可以优化的
  • 怎么优化呢?
  • 自己试试...

优化代码

  • 前面的循环可以改成直接赋初值

图片描述

  • 如果我想要到 y 就结束呢?

见到 y 就结束

图片描述

  • 原来是靠循环里面的 if 分支
    • 如果满足则跳出循环
  • 可以改成直接设置在循环的循环条件
  • 把循环截止条件控制下
  • 这很简单
  • 这个能魔改么?

洪信

  • 如果我想改成
    • 遇洪而开
    • 见信而寂
  • 输出所有范围内的中文字符呢?

图片描述

输出

图片描述

  • 把相应的字符替换了一下
  • 可是
  • 一个字符也不能输出
  • 这是为什么呢?
  • 想清楚之后
  • 我们去总结!

总结

  • 这次了解了 break
  • break 可以打破循环
    • 跳出三界外
    • 不在五行中
  • 现在的问题是
    • 遇洪而开
    • 见信而寂
  • 无法输出任何字符
  • 怎么办?🤔
  • 下次再说 👋