while
首发版本:3.00.6
语法
while(conditions){
statements
}
详情
while 语句会在条件为真时重复执行语句。
请注意:
- conditions 必须使用 () 包裹。
- 当 statement 仅有一条语句时,可省略花括号;多条语句时必须使用花括号,否则会报错。
- 如果 conditions 是 NULL 或者 !NULL,则按照 false 处理。
while 语句先判断条件再执行循环体,因此循环体可能一次都不执行;do-while 语句先执行循环体再判断条件,因此循环体至少执行一次。详见 do-while。
例子
// 累加 1 到 100
s = 0
x = 1
while (x <= 100) {
s += x
x += 1
}
print s
// output: 5050
continue 用于跳过本次循环体的剩余部分,进入下一次循环判断。在 while 循环中使用 continue 时,递增语句(x += 1)必须放在 continue 之前,否则会导致死循环。
x = 0
while (x < 10) {
x += 1
if (x % 2 == 0) continue
print x
}
// output:
// 1
// 3
// 5
// 7
// 9
while 循环可以嵌套使用,也可以与 do-while、for 循环嵌套使用。
// 打印乘法口诀表
i = 1
while (i <= 9) {
j = 1
while (j <= i) {
print(i + " * " + j + " = " + (i * j))
j += 1
}
i += 1
}
// 生成一个 5x5 的随机矩阵(包含零值和非零值)
// 以下输出为示例,实际运行结果因随机数不同而异
matrix = rand(0..9, 25)$5:5
print "原始矩阵:"
print matrix
// 使用 while 外层遍历行,for 内层处理列:汇总每列元素
row = 0
while (row < matrix.rows()) {
sum = 0
for (col in 0:matrix.cols()) {
val = matrix[row][col]
if (val != 0) sum += val
}
print "第 " + (row+1) + " 列元素之和: " + sum
row += 1
}
注意:
- 注意避免死循环:循环条件涉及的变量必须在循环体内被修改,否则循环将无法终止。
- 当 statement 仅有一条语句时,可省略花括号;多条语句时必须使用花括号,否则会报错。
