黑马程序员技术交流社区

标题: break与continue区别; [打印本页]

作者: 袁振龙    时间: 2013-4-14 12:17
标题: break与continue区别;
本帖最后由 袁振龙 于 2013-4-14 13:34 编辑

break与continue区别;怎么运行的!
作者: 梁思思    时间: 2013-4-14 12:25
break:1、跳出switch-case结构。2、跳出当前的循环

continue::程序执行到continue处,不会继续向下执行,而是回到循环的循环条件进行判断。如果循环条件为true,则继续执行,否则跳出当前循环。
作者: ①人←①城市    时间: 2013-4-14 12:26
break 语句用于终止最近的封闭循环或它所在的 switch 语句。控制传递给终止语句后面的语句(如果有的话)。

continue 语句将控制权传递给它所在的封闭迭代语句的下一次迭代。


break 语句在循环(for、for in,……)和switch等具有迭代选择特征的语句中使用,而且是终止最近的封闭代码块(即多重循环时,它只终止自己所在的循环),整体代码接在break语句后继续执行(如果break语句不是最后一行代码的话)。

continue语句与break语句使用场合类似,continue语句是不可以在单独的switch语句中使用,但可以在一个循环内的switch语句中使用。含有continue的迭代语句(或者叫循环语句),在遇到continue语句后,代码先不按照常规的从上往下的代码执行顺序执行,而是马上回到循环入口转入下一次循环。

break和continue语句在循环内的switch语句中使用时,是有些区别的。break是跳出本switch,switch后面的代码继续执行,而continue是不执行switch后的代码,可以理解为跳出循环,接着进入下一次循环。分别测试下面代码使用break和continue两种情况的输出,如果使用continue,你会发现程序找到Microsoft后,document.write代码不执行了,输出结果就比使用break少了一行。

break和continue语句的使用场合

1、break可以优化程序,不让程序多做些无用功。在下面的例子中,我们要从一个庞大的公司列表中找出Microsoft公司,一旦找到,就不会接着往下再找,比如下面语句用不用break是一样的效果,但用了break语句,程序运行的步骤就少了,除非要找的公司在最后面。我这里之所以强调“庞大”的列表,在于突显break优势,太少的话,也许你会认为自己用if语句就行。

2、continue语句可以让你直接在遍历并查找符合条件的元素过程中直接处理这些符合条件的元素,而不用先找到符合条件的元素集,然后再在外面另外写方法重新遍历这些新找到的元素并做处理。试着对比以下两种实现方法,你应该明白continue的好处。



作者: 殇_心。    时间: 2013-4-14 12:33
break  跳出整个循环。
continue  跳出本次循环。
给你举个实例吧:
for(int i = 1; i <= 2; i++)
{
   if( i == 1 ) continue;
   System.out.print(i);
}
这里会输出2,而不会输出1,因为只跳出了本次循环。
for(int i = 1; i <= 2; i++)
{
   if( i == 1 ) break;
   System.out.print(i);
}
这里什么都不会输出,因为跳出了整个循环。
作者: huima    时间: 2013-4-14 12:37
区别:
continue
1、结束本次循环,继续下次循环,并且进行条件判断;
2、不可作用于switch语句。当在switch中使用,这个continue实际是作用于其所属的循环结构;若它不属于任何一个循环,程序将因此报错!
break
1、结束本次循环,并停止下次循环条件判断;
2、可以作用于switch语句。开关语句中,执行switch语句之后的代码。
作者: 645420297    时间: 2013-4-14 12:41
break 和 contiune单独存在时,下面不可以有任何语句。
作者: 刘欢    时间: 2013-4-14 12:41
老苏的话:一图胜过千言万语。

break.jpg (14.29 KB, 下载次数: 16)

break.jpg

continue.jpg (20.3 KB, 下载次数: 13)

continue.jpg

作者: 石国庆    时间: 2013-4-14 13:27
1、break 语句在循环(for、for in,……)和switch等具有迭代选择特征的语句中使用,而且是终止最近的封闭代码块(即多重循环时,它只终止自己所在的循环),整体代码接在break语句后继续执行(如果break语句不是最后一行代码的话)。

2、continue语句与break语句使用场合类似,continue语句是不可以在单独的switch语句中使用,但可以在一个循环内的switch语句中使用。含有continue的迭代语句(或者叫循环语句),在遇到continue语句后,代码先不按照常规的从上往下的代码执行顺序执行,而是马上回到循环入口转入下一次循环。

3、break和continue语句在循环内的switch语句中使用时,是有些区别的。break是跳出本switch,switch后面的代码继续执行,而continue是不执行switch后的代码,可以理解为跳出循环,接着进入下一次循环。分别测试下面代码使用break和continue两种情况的输出,如果使用continue,你会发现程序找到Microsoft后,document.write代码不执行了,输出结果就比使用break少了一行。

作者: laiminghui    时间: 2013-6-12 09:44
Break 和 continue 都能停止循环代码的执行.
break 跳出整个循环, 而continue 跳到循环代码的下一个循环。



举例:
.
.
.

f o r   ( i n t   i   =   0 ;   i   <   5 ;   i + + ) {

         i f   ( i   = =   3 )   b r e a k ;

        e l s e   S y s t e m . o u t . p r i n t ( i ) ;

}
.
.
.


打印出 0   1   2

" b r e a k "改为" c o n t i n u e "
.
.
.

f o r   ( i n t   i   =   0 ;   i   <   5 ;   i + + ) {

         i f   ( i   = =   3 )   c o n t i n u e ;

        e l s e   S y s t e m . o u t . p r i n t ( i ) ;

}
.
.
.


将" break "改为" continue ",打印出0  1  2   4  5





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2