continue、break的用法与区别(Java语言等)
介绍一些语言中的break、continue的用法与区别
1/5、break语句可以用于switch、for、while、do-while,用于结束最近一层。如果是两层循环则只能跳出最近的一层循环。
如下的例子:
计算0~9的和,分成for和do-while来计算,主要的目的是展示break的用法。
#include<stdio.h>
#include<stdlib.h>
void main()
{//0~9的和
int i,sum=0;
for(i=0;i<10;i++)
{if(i==5)break;
sum+=i;
}
printf(“%d\n”,sum);
//再5~9的和
do{
if(i>=10)break;
sum+=i;
i++;
}while(i<10);
printf(“%d\n”,sum);
system(“pause”);
}
2/5、continue语句可以用于for、while、do-while。对比break少了switch。continue用于跳转到最近一层循环体的结尾,然后再执行循环判断条件;简单地说就是跳过本次循环,继续下一个循环。
#include<stdio.h>
#include<stdlib.h>
void main()
{//0~9的和
int i,sum=0;
for(i=0;i<10;i++)
{ if(i10)continue;// if(i!=10)continue;
sum+=i;
}
printf(“sum=%d\ti=%d\n”,sum,i);
system(“pause”);
}
, ,
3/5、break语句还可以接标签。带标签的break可以结束任意层的switch、for、while、do-while语句。普通的break只能结束最近的一次。
如下程序,break两层、三层循环。
#include<stdio.h>
#include<stdlib.h>
void main()
{//0~9的和;(没有break,则和为220)
int i,k,j,sum=0;
for(i=0;i<2;i++)
{
for(k=0;k<2;k++)
{
for(j=0;j<=10;j++)
{
if(j10)break;
sum+=j;
}
printf(“i=%d\tk=%d\tj=%d\tsum=%d\n”,i,k,j,sum);
}
}
printf(“i=%d\tk=%d\tj=%d\tsum=%d\n”,i,k,j,sum);
system(“pause”);
}
#include<stdio.h>
#include<stdlib.h>
void main()
{//0~9的和;( 没有if(j10)break;,则和为220)
int i,k,j,sum=0;
for(i=0;i<2;i++)
{
for(k=0;k<2;k++)
{
for(j=0;j<=10;j++)
{
// if(j10)break;
sum+=j;
}
printf(“i=%d\tk=%d\tj=%d\tsum=%d\n”,i,k,j,sum);
}
}
printf(“i=%d\tk=%d\tj=%d\tsum=%d\n”,i,k,j,sum);
system(“pause”);
}
4/5、continue语句也可以接标签。带标签的continue可以跳转到任意层循环体的结尾。普通的continue语句只能跳转到最近一层的循环体的结尾。
如下程序:
#include<stdio.h>
#include<stdlib.h>
void main()
{ //没有continue,则和为100
//有continue时,则和为80
//当i=0时:j=0时,sum=0;j=1时,sum=1;j=2时,就跳转到下一次的循环了,也就是每次j循环sum只是加了1;j=3时,sum是加了3;j=4时,sum是加了4;即每次外循环,sum一共加了8(0+1+3+4=8),此时sum=8;
//同理,i=1时:sum一共又加了8,此时sum=28=16;
//同理,i=2时:sum一共又加了8,此时sum=38=24;
//…
//同理,i=9时:sum一共又加了8,此时sum=10*8=80;
int i,j,sum=0;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
if(j2)continue;//if(j2)continue;
sum+=j;
}
}
printf(“i=%d\tj=%d\tsum=%d\n”,i,j,sum);
system(“pause”);
}
,
5/5、总之:break用于结束switch、for、while、do-while,而continue用于跳转到for、while、do-while循环体的结尾。
C语言break和continue语句的用法
break和continue语句都可以用在循环中,用来跳出循环(结束循环);break语句还可以用在switch语句中,用来跳出switch语句。
break语句
break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch 中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起,即满足条件时便跳出循环。
【例6-8】
#include<stdio.h>
#include<stdlib.h>
void main()
{ int i=0;
char c;
while(1)
{ /设置循环/
c=‘\0’;/变量赋初值/
while(c!=13 && c!=27)
{/键盘接收字符直到按回车或Esc键/
c=getchar();
printf(“%c\n”,c);
}
if(c==27)
break;/判断若按Esc键则退出循环/
i++;
printf(“The No. is %d\n”,i);
}
printf(“The end”);
system(“pause”);
}
注意:
break语句对if-else的条件语句不起作用;
在多层循环中,一个break语句只向外跳一层。
continue 语句
continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。对比一下break和continue。while的用法:while(表达式1){ …… if(表达式2) break; ……}continue的用法:while(表达式1){ …… if(表达式2) continue; ……}【例6-9】复制纯文本新窗口
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
char c=‘\0’;
while(c!=13)
{/不是回车符则循环/
c=getchar();
if(c==0X1B)
continue;/若按Esc键不输出便进行下次循环/
printf(“%c\n”,c);
}
system(“pause”);
}
Java中break、continue、return语句的使用区别
这篇文章主要介绍了Java中break、continue、return语句的使用区别对比,本文用非常清爽简明的语言总结了这三个关键字的使用技巧
break、continue、return之间的区别与联系 在软件开发过程中,逻辑清晰是非常之重要的。 代码的规范也是非常重要的。往往细节决定成败。在编写代码的时候,一定要理解语言的作用以及使用的方法和场景。下面来介绍一下break、continue、return三者的区别和联系。
- break :
(1).结束当前整个循环,执行当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。 (2).只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出。[逐层判断,逐步跳出] (3).break在循环体内,强行结束循环的执行,也就是结束整个循环过程,不在判断执行循环的条件是否成立,直接转向循环语句下面的语句。 (4).当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。 总的来说:就近原则,结束当前的整个循环。 - return:
(1).return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。 (2).return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。 (3). return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。 - continue:
(1).终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。 (2).结束当前循环,进行下一次的循环判断。 (3).终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行.