📜  在 IML 中执行循环 (1)

📅  最后修改于: 2023-12-03 15:37:21.032000             🧑  作者: Mango

在 IML 中执行循环

在 IML 中,循环结构的语法与其他编程语言类似。使用循环结构可以重复执行某一段代码块,从而实现重复性操作。

for循环

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 (循环条件) {
    // 待重复执行的代码块
}

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循环

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语句可以用来控制循环的执行。其中,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。