跳转至

循环

条件循环 while

与 C 类似,不过多赘述

while 循环是一种条件循环,只要条件为真,循环就会一直执行。

int i = 0;
while (i < 10) {
    println(i);
    i++;
}

条件循环 do while

与 C 类似,不过多赘述

do while 循环是一种条件循环,先执行循环体,再判断条件。

int i = 0;
do {
    println(i);
    i++;
} while (i < 10);

计数循环 for

与 C 类似,不过多赘述

for 循环是一种计数循环,可以在循环体内使用计数器。

for (int i = 0; i < 10; i++) {
    println(i);
}

循环标签

给循环添加标签可以用于快速跳出多层循环。break

loop:
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        if (j == 5) break loop;
        println(j);
    }
}

循环控制

跳过本次循环 continue

continue 用于跳过本次循环,跳到下一次循环。

有等效的 goto 语句:

for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) continue;
    println(i);
}

for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) goto next;
    println(i);
  next:
}

跳出循环 break

break 用于跳出循环。

有等效的 goto 语句:

for (int i = 0; i < 10; i++) {
    if (i == 5) break;
    println(i);
}

for (int i = 0; i < 10; i++) {
    if (i == 5) goto end;
    println(i);
}
end:

在循环之后继续执行代码

当循环被中断时 breaked

breaked 用于在循环被 break 中断时执行代码。
减少逆天的嵌套

for (int i = 0; i < 10; i++) {
    if (i == 5) break;
    println(i);
} breaked {
    println("Loop breaked");
}
for (int i = 0; i < 10; i++) {
    break if i == 5;
    println(i);
} breaked {
    println("Loop breaked");
}

可以在 breakedcontinue 重新进入循环。
本次循环会被跳过

for (int i = 0; i < 10; i++) {
    if (i == 5) break;
    println(i);
} breaked {
    println("Loop breaked");
    continue;
}

当循环正常结束时 then

then 用于在循环正常结束时执行代码。

for (int i = 0; i < 10; i++) {
    println(i);
} then {
    println("Loop finished");
}

以上两个可以同时使用

breakedthen 中都可以使用迭代变量