A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘源 中级黑马   /  2012-8-5 18:21  /  2206 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘源 于 2012-8-5 23:10 编辑

break、continue和return在函数中表示什么作用啊,作用范围是多大啊?

问题已经解决”。

5 个回复

倒序浏览
(1)return 是从当前的方法中退出,返回到该调用的方法的语句处,继续执行,可以返回与方法的声明中的返回值的类型一致的数值,也可以什么都不返回。
(2)break是结束本次循环,跳出本层循环体。
(3)continue是结束本次循环,提过循环体剩下的语句,继续判断下一次条件是否符合,符合则继续循环,否则跳出循环。
相关代码:
  1. class Test
  2. {
  3. public static void main(String[] args)
  4. {
  5.    testBreak();
  6.    testContinue();
  7.    testReturn();
  8. }

  9. static void testBreak()
  10. {
  11.    for(int i=0;i<10;i++)
  12.    {
  13.     if(i%2==0)
  14.     {
  15.      System.out.println("i="+i);
  16.     }
  17.     else
  18.     {
  19.      System.out.println("执行了break语句,跳出当前循环!");
  20.      break;
  21.     }
  22.    }
  23. }

  24. static void testContinue()
  25. {
  26.    for(int i=0;i<10;i++)
  27.    {
  28.     if(i%2==0)
  29.     {
  30.      System.out.println("没有执行continue语句输出i="+i);
  31.     }
  32.     else
  33.     {
  34.      System.out.println("执行了Continue语句,跳出当前循环!");
  35.      continue;
  36.     }
  37.    }
  38. }

  39. static void testReturn()
  40. {
  41.    for(int i=0;i<10;i++)
  42.    {
  43.     System.out.println("执行了return语句,直接跳出了当前的testReturn方法!");
  44.     return;
  45.    }
  46. }
  47. }

复制代码
/*运行结果:
i=0
执行了break语句,跳出当前循环!
没有执行continue语句输出i=0
执行了Continue语句,跳出当前循环!
没有执行continue语句输出i=2
执行了Continue语句,跳出当前循环!
没有执行continue语句输出i=4
执行了Continue语句,跳出当前循环!
没有执行continue语句输出i=6
执行了Continue语句,跳出当前循环!
没有执行continue语句输出i=8
执行了Continue语句,跳出当前循环!
执行了return语句,直接跳出了当前的testReturn方法!
*/
回复 使用道具 举报
第一:break语句通常用在循环语句和开关语句中,当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句, 通常break语句总是与if语句联在一起,即满足条件时便跳出循环。例如:
main()
{
int i=0;
char c;
while(1)                 /*设置循环*/
{
c='\0';             /*变量赋初值*/
while(c!=13&&c!=27) /*键盘接收字符直到按回车或Esc键*/
{
c=getch();
printf("%c\n", c);
}
if(c==27)
break;          /*判断若按Esc键则退出循环*/
i++;
printf("The No. is %d\n", i);
}
printf("The end");
}
注意:
1)       break语句对if-else的条件语句不起作用。
2)       在多层循环中, 一个break语句只向外跳一层。

第二:continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。
例如:
main()
{
char c;
while(c!=13)      /*不是回车符则循环*/
{
c=getch();
if(c==0X1B)
continue; /*若按Esc键不输出便进行下次循环*/
printf("%c\n", c);
}
}
其实就是continue跳过一次循环以及后面的语句,进行下次循环。

第三: return语句是将函数的值返回主调函数。例如:
int max(int a,int b)
{
if(a>b)return a;
else return b;
}
这个函数是返回a和b中的最大值;
return  语句的一般形式为:
return 表达式
或者为:
return (表达式)
回复 使用道具 举报
break    跳出当前循环体。
continue 跳出循环体中的当次循环,进入下一次循环。
return终止程序向前,并可返回一个值。
回复 使用道具 举报
这方面的知识我昨天晚上刚总结过

break:用于完全结束一个循环跳出循环体。不管是哪种循环,一旦在循环体中遇到break
        系统将完全结束该循环,开始执行循环之后的代码。
continue:continue的功能和break有点类似,区别是continue只是终止本次循环,接着开始
        下次循环,而break是完全终止循环本身。可以理解为continue的作用是跳过当次循环中
        剩下的语句,重新开始一次新的循环。
return:return关键字不是专门用于结束循环的,return的功能是结束一个方法,当一个方法执行到
        return语句时,这个方法将被结束。java程序中的大部分循环都被放在方法中执行,一旦在
        循环体内执行到一个return语句,return语句就会结束该方法,循环自然也随之结束。

总结:
break:彻底跳出循环
continue:不跳出循环,重新开始下一次循环
return:不仅彻底跳出循环,整个方法也被结束
回复 使用道具 举报
break语句有3种作用:第一,你已经看到,在switch语句中,它被用来终止一个语句序列。第二,它能被用来退出一个循环。第三,它能作为一种“先进”的goto 语句来使用。

continue 语句是break语句的补充。在while 和do while 循环中,continue 语句使控制直接转移给控制循环的条件表达式,然后继续循环过程。在for 循环中,循环的反复表达式被求值,然后执行条件表达式,循环继续执行。对于这3种循环,任何中间的代码将被跳过。

return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它的方法。因此,将它分类为跳转语句。在一个方法的任何时间,return 语句可被用来使正在执行的分支程序返回到调用它的方法。

可以参看这篇文章比较详细http://long-yu2.iteye.com/blog/1530310

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马