break和continue的用法详解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
事实上continue也有类似的用法,只不过标签只能设定在for之前。范例3.34是一个简单的示范。
Ü范例3.34 ContinueTest.java
public class ContinueTest {
public static void main(String[] args) {
back1:
for(int i = 0; i < 10; i++){
}
这段程序会显示i = 1到4,因为当i等于5时就会执行break而离开循环。再看下面这个程序:
for(int i = 1; i < 10; i++) {
if(i == 5)
continue;
System.out.println("i = " + i);
}
这段程序会显示1到4,与6到9。当i等于5时,会执行continue直接结束此次循环,这次循环中System.out.println()行并没有被执行,然后从程序块开头执行下一次循环,所以5并没有被显示。
示例:
#include <stdio.h>
int main(void)
{
int count;
printf("the function of continue\n");
for(count = 0; count < 10; count++)
{
if(count==5)
break;
printf("%d\n",count);
continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头继续下一个循环,而不是离开循环。例如:
for(int i = 1; i < 10; i++) {
if(i == 5)
break;
System.ut.println("i = " + i);
back : {
for(int i = 0; i < 10; i++) {
if(i == 9) {
System.out.println("break");
break back;
}
}
System.out.println("test");
}
}
}
程序的执行结果会显示break;back是个标签,当break back;时,返回至back标签处,之后整个back程序块不执行而跳过,所以这个程序System.out.println("test");不会被执行。
Break和continue的用法详解
break可以离开当前switch、for、while、do while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的比较。在for、while与do while中,主要用于中断目前的循环执行,break的例子您之前已经看过不少,这里不再举例。
back2:
for(int j = 0; j < 10; j++) {
if(j == 9) {
continue back1;
}
}
System.out.println("test");
}
}
}
continue配合标签,可以自由地跳至任何一层for循环,您可以试试continue back1与continue back2的不同。设定back1时,System.out.println("test");不会被执行。
break与continue还可以配合标签使用,例如本来break只会离开for循环,设定标签与程序块,则可以离开整个程序块。范例3.33是一个简单的示范。
Ü范例3.33 BreakTest.java
public class BreakTest {
public static void main(String[] args) {
}
printf("the function of break\n");
for(count = 0; count < 10; count++)
{
if(count==5)
continue;
printf("%d\n",count);
}
return 0;
}
Ü范例3.34 ContinueTest.java
public class ContinueTest {
public static void main(String[] args) {
back1:
for(int i = 0; i < 10; i++){
}
这段程序会显示i = 1到4,因为当i等于5时就会执行break而离开循环。再看下面这个程序:
for(int i = 1; i < 10; i++) {
if(i == 5)
continue;
System.out.println("i = " + i);
}
这段程序会显示1到4,与6到9。当i等于5时,会执行continue直接结束此次循环,这次循环中System.out.println()行并没有被执行,然后从程序块开头执行下一次循环,所以5并没有被显示。
示例:
#include <stdio.h>
int main(void)
{
int count;
printf("the function of continue\n");
for(count = 0; count < 10; count++)
{
if(count==5)
break;
printf("%d\n",count);
continue的作用与break类似,主要用于循环,所不同的是break会结束程序块的执行,而continue只会结束其之后程序块的语句,并跳回循环程序块的开头继续下一个循环,而不是离开循环。例如:
for(int i = 1; i < 10; i++) {
if(i == 5)
break;
System.ut.println("i = " + i);
back : {
for(int i = 0; i < 10; i++) {
if(i == 9) {
System.out.println("break");
break back;
}
}
System.out.println("test");
}
}
}
程序的执行结果会显示break;back是个标签,当break back;时,返回至back标签处,之后整个back程序块不执行而跳过,所以这个程序System.out.println("test");不会被执行。
Break和continue的用法详解
break可以离开当前switch、for、while、do while的程序块,并前进至程序块后下一条语句,在switch中主要用来中断下一个case的比较。在for、while与do while中,主要用于中断目前的循环执行,break的例子您之前已经看过不少,这里不再举例。
back2:
for(int j = 0; j < 10; j++) {
if(j == 9) {
continue back1;
}
}
System.out.println("test");
}
}
}
continue配合标签,可以自由地跳至任何一层for循环,您可以试试continue back1与continue back2的不同。设定back1时,System.out.println("test");不会被执行。
break与continue还可以配合标签使用,例如本来break只会离开for循环,设定标签与程序块,则可以离开整个程序块。范例3.33是一个简单的示范。
Ü范例3.33 BreakTest.java
public class BreakTest {
public static void main(String[] args) {
}
printf("the function of break\n");
for(count = 0; count < 10; count++)
{
if(count==5)
continue;
printf("%d\n",count);
}
return 0;
}