while命令

简介: while命令
  • FOR与监视点使用,只能在FOR中使用监视点。如果为FOR命令索引变量建立监视点,则仅在对每个FOR命令参数进行初始求值时触发特定监视点操作。
ClassMethod For9()
{
  s color(1) = "red"
  s color(2) = "black"
  s color(3) = "white"
  s color(4) = "green"
  zb *ID
  s sum = 0
  s ID = ""
  for {
    s ID =$o(color(ID))
    q:(ID = "")
    s sum = sum + ID
    w "块语法:" _ color(ID),!
  }
  q "结束"
}
复制代码

while命令

  • WHILE expression,如果expression的计算结果为TRUE,则它将执行括号之间的代码块。只要expression的计算结果为TRUE,WHILE就可以重复执行。如果expression不为TRUE,则不执行括号内的代码块,并执行紧跟大括号的下一个命令。
WHILE condition {code}
复制代码
  • 必须小心避免WHILE无限循环。
ClassMethod While()
{
  s x = 1
  while x < 10 {
    w x,!
    s x = x + 1
  }
  q "循环结束"
}
复制代码
  • WHILE代码块可以嵌套,代码块内的GOTO命令可将执行定向到同一代码块内的标签;该标签可以在嵌套的代码块中。代码块可以将执行定向到循环外部的标签,从而终止循环。
ClassMethod While1()
{
  s x = 1, y = 1
  while x < 6 {
    w !,"外部循环",!
    s x = x + 1
label
    w "外循环迭代 ", x - 1,!
    while y < 4 {
      w !,"   内循环迭代 ", y,!
      s y = y + 1
      w "   返回到 "
      goto label
      w "此处永远不会被执行",!
    }
    w "内部循环完成",!
  }
  q "全部完成"
}
复制代码

Do While命令

  • DO WHILE执行代码,然后计算表达式。如果表达式的计算结果为True,则DO WHILE循环并重新执行代码。如果表达式不为true,则不重新执行代码,并执行Do While后面的下一个命令。

请注意,Do While始终以面向块的形式编写。要执行的代码放在do和While关键字之间,并用大括号括起来。

ClassMethod DoWhile()
{
  s x=1
  do {
    w x,!
    s x = x + 1
  } while (x < 10)
  q "循环结束"
}
复制代码
  • 循环多为数组,全局变量,进程私有变量
ClassMethod DoWhile1()
{
  s color(1) = "red"
  s color(2) = "black"
  s color(3) = "white"
  s color(4) = "green"
  s ID = ""
  do {
    s ID = $o(color(ID))
    q:(ID = "")
    w color(ID),!
  } while (ID '= "")
  q "循环结束"
}
复制代码

While、Do While和For之间的区别在于, While必须在执行循环之前测试表达式,但Do While必须在执行循环之后测试表达式,而For可以在循环内测试表达式。这意味着,如果代码块有两个部分,其中第二个部分的执行取决于表达式的求值,则for构造最合适;否则,选择取决于表达式求值应该在代码块之前还是之后。

相关文章
|
网络协议 Unix Java
Linux基本操作命令
Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
152 3
|
Linux 数据安全/隐私保护
Linux用户管理命令
Linux用户管理命令
76 1
|
运维 Kubernetes 安全
24个K8S常用场景使用命令(推荐收藏)!
24个K8S常用场景使用命令(推荐收藏)!
|
Shell 数据库 数据安全/隐私保护
命令汇总
命令汇总
120 0
|
Windows
运行系统命令
运行系统命令
109 0
|
监控
libimobiledevice命令
简介 A library to communicate with services of Apple iOS devices using nativeprotocols. 1、打印app列表 ideviceinstaller -l 2、查看当前已连接的设备的UUID idevice_id -...
1698 0