📅  最后修改于: 2023-12-03 15:37:21.032000             🧑  作者: Mango
在 IML 中,循环结构的语法与其他编程语言类似。使用循环结构可以重复执行某一段代码块,从而实现重复性操作。
for循环是最常用的循环结构之一,语法如下:
for (初始化表达式; 循环条件; 步进表达式) {
// 待重复执行的代码块
}
举例来说,我们可以使用 for 循环从1加到10。对应的代码如下:
var sum = 0;
for (var i = 1; i <= 10; i++) {
sum += i;
}
output(sum);
以上代码将会输出55,即1+2+3+4+5+6+7+8+9+10的结果。
需要注意的是,在 for 循环中,只要循环条件为 true,代码块就会一直重复执行下去。因此,我们需要在循环体内设置跳出循环的条件,避免无限循环。
while循环是另一种常用的循环结构,语法如下:
while (循环条件) {
// 待重复执行的代码块
}
while 循环会在每次循环之前检查循环条件,只有在循环条件为 true 时才会执行循环体中的代码。举例来说,我们可以使用 while 循环实现将数字反转的操作。对应的代码如下:
var x = 123;
var y = 0;
while (x != 0) {
y = y * 10 + x % 10;
x = Math.floor(x / 10);
}
output(y);
以上代码将会输出321,即将数字123反转的结果。
do-while循环是另一种与while循环类似的循环结构,语法如下:
do {
// 待重复执行的代码块
} while (循环条件);
do-while 循环的循环体与 while 循环类似,但是会先执行一次循环体中的代码,然后再检查循环条件。这意味着即使循环条件一开始就为 false,循环体中的代码也会至少执行一次。举例来说,我们可以使用 do-while 循环实现从1加到10的操作。对应的代码如下:
var i = 1;
var sum = 0;
do {
sum += i;
i++;
} while (i <= 10);
output(sum);
以上代码将会输出55,即1+2+3+4+5+6+7+8+9+10的结果。
在循环结构中,break和continue语句可以用来控制循环的执行。其中,break语句可以用来跳出循环,而continue语句可以用来终止本次循环,直接执行下一次循环。
举例来说,我们可以使用 while 循环和 break 语句实现二分查找。对应的代码如下:
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var target = 7;
var left = 0;
var right = arr.length - 1;
var mid;
while (left <= right) {
mid = Math.floor((left + right) / 2);
if (arr[mid] === target) {
output(mid);
break;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
以上代码会输出6,即数字7在数组中的下标。
另一方面,我们可以使用 for 循环和 continue 语句实现打印1到100中所有奇数的操作。对应的代码如下:
for (var i = 1; i <= 100; i++) {
if (i % 2 === 0) {
continue;
}
output(i);
}
以上代码会输出1,3,5,7,...,99。