break和continue在跳出循环时的不同

1. 概述

在编写循环语句时,我们常常需要在某些条件成立时跳出循环,这时就要用到breakcontinue关键字。两者都可以中断循环,但中断后的操作不同,影响的范围也不同。

break是用于完全跳出循环,即在循环中执行break后,整个循环就会终止,程序会直接跳出循环外执行后面的语句。而continue是用于跳过当前循环,即在循环中执行continue后,程序会跳过当前循环的本次迭代,直接进入下一个迭代

2. break关键字

break关键字的使用十分灵活,可以用在任何循环语句中,如 while 循环、for 循环和 do while 循环,甚至还可以在嵌套的循环语句中跳出指定的循环。

2.1 跳出单层循环

下面是一个使用 while 循环实现求前 n 个自然数的和的例子。当求和结果超过 1000 时,使用 break 跳出循环:

var sum = 0;

var i = 1;

while (i) {

sum += i;

if (sum > 1000) {

break;

}

i++;

}

console.log(sum);

在上述代码中,如果 sum 的值超过了 1000,就会执行 break 跳出循环,输出结果为 1035

2.2 跳出嵌套循环

如果有多层循环嵌套,我们可以在内层循环中使用 break 跳出指定的循环。例如,下面的代码是一个使用嵌套 for 循环输出乘法口诀表的例子,如果要仅输出小于等于 6 的部分,就可以在内层循环中使用 break 来跳出指定的循环:

for (var i = 1; i <= 9; i++) {

for (var j = 1; j <= i; j++) {

if (i > 6) {

break;

}

document.write(j + "x" + i + "=" + i * j + "  ");

}

document.write("
");

}

在上述代码中,i 循环从 19,内层循环 j1i,如果 i 大于 6,就执行 break 跳出内层循环。

3. continue关键字

continue 关键字不会终止整个循环,而是中止当前循环的本次迭代,并直接开始下一次迭代。和 break 一样,continue 也可以用在任何循环语句中。

3.1 continue的基本用法

下面是一个使用 for 循环输出 1~10 中的奇数的例子,我们可以在每次迭代中判断当前数是否是偶数,并使用 continue 跳过本次迭代:

for (var i = 1; i <= 10; i++) {

if (i % 2 == 0) {

continue;

}

document.write(i + "  ");

}

在上述代码中,如果 i 是偶数,就执行 continue 跳过本次迭代,输出的结果为 1  3  5  7  9  

3.2 深层循环中的continue语句

如果有嵌套循环,continue 让你可以跳过当前迭代,而不是跳出整个循环。例如,下面是一个使用嵌套的 for 循环,输出行号和列号之和为奇数的格子:

for (var row = 0; row < 3; row++) {

for (var col = 0; col < 3; col++) {

if ((row + col) % 2 == 0) {

continue;

}

document.write("(" + row + "," + col + ")  ");

}

document.write("
");

}

在上述代码中,如果 rowcol 的和是偶数,就执行 continue 跳过本次迭代,输出的结果为:

(0,1)  (0,2)  (1,0)  (1,2)  (2,1)  (2,2)  

4. 总结

总的来说,breakcontinue 都是用于中断循环语句的关键字,但它们之间还是有着很大差别的。break 是用来直接跳出整个循环语句,而 continue 是仅中止当前循环迭代,继续执行下一次迭代。在实际编程中,我们要合理地使用这两个关键字,灵活掌握其用法,以提高程序效率。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

上一篇:ASP是什么

下一篇:asp是什么文件格式

后端开发标签