青语言使用文档

循环语句

创建于 2023-04-22 / 最近更新于 2023-04-25 / 2221
字体: [默认] [大] [更大]

如果我们需要循环地执行同一段代码多次,那么使用循环语句可以大大简化我们的代码。青语言中提供了以下几种循环语句:

当循环1

语句有2种使用方式,我们先来看第一种,格式如下

当  循环控制条件 {
    ……  循环执行的代码块  ……
}

这里我们在关键字后加了一个循环控制条件,只要这个循环条件为真,就会循环执行代码块中的代码。一个示例:

#序 = 1
当  #序  小于等于  10 {
    @显示、#序
    #序  加等  1
}

在这个例子里,我们先在循环语句外定义了一个循环控制变量#序,并赋值为1,只要循环判断条件#序 小于等于 10成立,那么就会执行代码块。每执行完一次代码块,又会对循环判断条件进行判断,为真继续循环,为假则停止循环。
这里我们每次循环都会对#序进行自加1的操作,所以每次显示的值也加1,直到#序的值增加到11,循环的判断条件为假,停止循环。这段程序会显示从1到10的数字。
image.png
循环语句最后会返回循环的次数,所以这里最后循环语句的结果是10,说明循环了10次。

当循环2

语句的第二种使用方式如下:

当    定义循环控制变量语句,  循环控制条件,每次循环结束后的处理 {
    ……  循环执行的代码块  ……
}

和第一种方式的区别在于,关键字后面跟着3个表达式,之后才是代码块。这种方式下,把循环控制变量的定义到语句内,同时每次循环结束后都可以对循环控制变量进行操作,示例如下:

当  #序:1,  #序  小于等于  10,#序  加等  1 {
    @显示、#序
}

这一段代码的结果和上一个例子的结果一样,只不过我们把变量#序定义到了语句内,并且使用的是赋值,这会使得我们只能在循环的代码块中访问到#序,这也涉及到语境的概念。另外我们把每次循环对循环控制变量的操作也移动到了代码块前面,这会保证每次循环结束,都会执行这一操作。

执行……直到…… 语句

2种语句都是在执行循环代码块前,先判断一次循环控制条件,如果一开始循环控制条件就不成立,那么代码块一次都不会执行。
有时我们希望代码块至少执行一次,然后再判断是否继续循环,那么我们可以使用执行……直到…… 语句,格式如下:

执行 {
    ……循环代码块……
}直到   循环判断条件

这里,会首先执行一次循环代码块,每次执行结束后会对直到后的条件进行判断,如果为假则继续循环,如果为真则停止循环。示例如下:

#序 = 1
执行 {
    @显示、#序
    #序  加等 1
}直到   #序   大于  10

这一段代码的结果和上面2个例子的结果一样,但可以确保代码块至少执行一次。最后一次当#序的值变为11时,循环控制条件为假,循环就会停止。


跳出和继续

有时我们在循环的过程中也希望对循环进行控制,如停止循环或立即开始下一轮循环,那么我们就需要使用关键字跳出继续来实现这些功能。

当  #序:1,  #序  小于等于  10,#序  加等  1 {
    如果 #序 大于 5 {
         跳出                      ;这会跳出这一层循环
    }
    @显示、#序
}

还是上面的循环显示1到10的代码,我们在循环代码块中加了一个判断,当#序的值大于5时就会执行跳出,这里跳出的功能是跳出其所处的一层循环。这个例子里,当#序增长到6时就触发了跳出,所以这里只会显示从1到5的数字,之后循环就停止了。

接下来的例子我们使用继续可以结束本轮循环,立即开始下一轮循环

当  #序:1,  #序  小于等于  10,#序  加等  1 {
    如果 #序 小于 5 {
         继续                      ;这会立即开始下一轮循环
    }
    @显示、#序
}

在这个例子里,前几次循环时,当#序的值小于5时,会触发继续,此时立即开始下一轮循环,而@显示、#序得不到执行。直到#序的值大于等于5时,不再触发继续,此时才能显示#序的值,所以这里会显示从5到10的数字。


和选择分支语句一样,我们可以在循环语句中嵌套另一个循环语句,从而实现复杂的循环功能。

0 人点赞过