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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘欢(安阳) 中级黑马   /  2012-9-27 23:18  /  3124 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近突然被这个问题困扰了,没总结好。
想请教一下关于break,continue和return的区别与用法:dizzy:

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

8 个回复

倒序浏览
1. break: 立即终止整个循环;
2. continue: 立即终止当前循环步骤,进行下一次循环步骤。
3. return:用于指定函数返回的值。
回复 使用道具 举报
1)break     直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试。他只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出.
   
2)continue     也是终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行.     

3)return有2个主要作用
return   指令一个是返回一个指定数据给主调函数,  

另外的一个作用就是结束所在函数的执行

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
简单说:return用于跳出函数体,break用于跳出循环体,continue用于继续下一轮循环
break语句:
break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。

如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。

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

{
   if(i==6) break;
   document.write(i);
}
//输出结果:12345

continue语句:
continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。
continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!

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

{
  if(i==6) continue;
  document.write(i);
}
//输出结果:1234578910

return语句:
return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!
当执行return语句时,即使函数主体中还有其他语句,函数执行也会停止!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
break 跳出当前所在循环体,指最内层循环。

continue 跳出当前所执行的循环,进入下一次循环,不跳出循环体。

return 退出当前方法;若return后面还有某个值或变量,则是退出当前方法并返回该值或变量。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 潘梦军 于 2012-9-28 09:33 编辑

首先break,continue用于循环里面,例如
for (int i = 0; i < 10; i++)
                {
                    if (i == 6)
                    {
                        continue;
                    }

                    if (i == 8)
                    {
                       break;
                    }
                }
                return;
1、break:表示跳出循环不再继续,
2、continue:表示跳过 i 等于8的循环,i 等于9这些会继续,
3、return:用于函数这些的返回

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
蔡嘉 中级黑马 2012-10-20 13:34:09
7#
简言之:break退出当前循环,continue继续当前循环,return不带值,退出当前函数,return带值,则退出且返回值。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
break语句:
break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。
如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。
for(var i=1;i<=10;i++)
{
   if(i==6) break;
   document.write(i);
}
//输出结果:12345
continue语句:
continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。
continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!
for(var i=1;i<=10;i++)
{
  if(i==6) continue;
  document.write(i);
}
//输出结果:1234578910
return语句:
return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!
当执行return语句时,即使函数主体中还有其他语句,函数执行也会停止!

如果有看视频的话,杨老师在 ADO.NET里面有个例子也用了 RETURN语句

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
break    跳出当前循环体,
continue 跳出循环体中的当次循环,进入下一次循环
return终止程序向前,并可返回一个值

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语句continue语句的一般形式为:contonue;
      (2) 其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
      (3) 注意:执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分 ,然后决定循环是否继续进行。
      (4) 在for 循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,
       最后根据“表达式2”的值来决定for循环是否执行。在循环体内,不论continue是作为何种语句中的语句成分,都将按上述功能执行,这点与break有所不同

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

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