您的位置:首页 > 产品设计 > UI/UE

break,return和continue的区别

2016-07-28 14:27 323 查看
1、return
语句的作用

 (1) return
从当前的方法中退出,返回到该调用的方法的语句处,继续执行。 
 (2) return
返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致,可以使用强制类型转换来是数据类型一致。 
 (3) return
当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。

2、break语句的作用 
   (1)
只能在循环体内和switch语句体内使用break语句。 
   (2)
当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。 
   (3)
当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。 
   (4)
在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环。

3、continue语句作用 
      (1) continue语句的一般形式为:contonue; 
      (2)
其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。 
      (3)
注意:执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分
,然后决定循环是否继续进行。 

      (4)
在for
循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,最后根据“表达式2”的值来决定for循环是否执行。在循环体内,不论continue是作为何种语句中的语句成分,都将按上述功能执行,这点与break有所不同。

例如,

双重for循环里用了break语句,跳出循环的话是跳出最里面的。

int a=0;
for(int i=0;i<=9;i++)
{
for(int j=0;j<=9;j++)
{
break;
a++;
}
a++;
printf("%d",a);
}
//输出为10,而不是0。无论有几重循环,break永远只跳出自己所在的那一层循环。
再如,
void main()
{
int n,m;

for(n=1;n<=15;n++)//这个循环输出1,2,3,4.在n是5的时候循环退出
{
if(n==5)
break;
printf("%d",n);
}

printf("\n");

//本次循环输出1,2,3,4,6,7,8,9,10
for(m=1;m<=10;m++)
{
if(m==5)
continue;//在n=5时,没有执行当次循环的其他语句,所以5未输出
printf("%d",m);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: