黑马程序员技术交流社区
标题:
break和continue
[打印本页]
作者:
vipzh
时间:
2012-12-2 17:41
标题:
break和continue
break和continue它们都可以用来跳出当前循环,它们有哪些区别?
作者:
xjandrew
时间:
2012-12-2 18:13
continue终止当前循环,继续下一循环,还在当前循环中
break中断循环进行,并跳出该循环
作者:
何伟
时间:
2012-12-2 19:04
break是跳出循环语句,continue只是停止本次循环,循环语句还会继续执行
作者:
张其辉
时间:
2012-12-2 19:10
break终止当前循环语句的执行,还可以用来终止switch语句
continue结束所在循环的本次执行,只能用在循环语句中
例如:在for循环中使用了break,那么就跳出整个for循环。而使用了continue则是跳出本次循环,继续下次循环仍然在for循环中
作者:
马海保
时间:
2012-12-2 22:11
break和continue的使用
1
、语句功能
1> break
,
强制退出循环(当前循环)
2> continue
,
提前结束本轮循环体的执行,跳到下一次循环
2
、原理
↓
↓←←←←←←←←←←←←←←
↓
↑
↑
↓
continue
↑
↓
↑
↑
循环条件
→
true
→
循环体
→→→→→
↓
↓
↓←←
break
←←←
↓
false
↓
↓
作者:
丁桂松
时间:
2012-12-2 23:17
补充一点.continue可以跳出本次循环的特征.可以配合标签.做到自由控制流程跳转的效果.
作者:
丁桂松
时间:
2012-12-2 23:17
补充一点.continue可以跳出本次循环的特征.可以配合标签.做到自由控制流程跳转的效果.
作者:
程宏志
时间:
2012-12-2 23:50
break:是表示结束当前的循环体。
continue:是表示结束满足本次条件的循环。当它后面使用标示时,表示的是结束符合条件的循环,然后在进入下一次的循环。
break是终止,而continue是跳出满足条件的本次循环。不要弄混淆了
示例:
outer: for (int i = 1; i <4; i++)
{
inner: for (int j = 1; j < 4; j++)
{
if (j==2)
{
continue outer;
}
System.out.println(i+" "+j);
}
continue后面不使用outer时,
结果是:
1 1
1 3
2 1
2 3
3 1
3 3
当后面使用outer时,结果为:
1 1
2 1
3 1
看下,好好体会下
作者:
super_Xiong
时间:
2012-12-3 05:14
break 跳出循环,并终止循环.
continue 跳出当前循环,继续下次
作者:
Rancho_Gump
时间:
2012-12-3 14:23
本帖最后由 张向辉 于 2012-12-3 14:28 编辑
continue 是跳出当前循环,并继续进行条件改变,判断再循环;
break 终止循环,跳出循环体。
class continuebreak
{
public static void main(String[] args)
{
for(int i=0;i<6;i++)
{
if(i==2)//当判断为2时,此层循环结束,continue之后代码不再执行,然后执行i++,即进入循环体再判断
continue;
System.out.print(i);
}
System.out.println();
for(int i=0;i<6;i++)
{
if(i==2)//当判断为2时循环结束
break;
System.out.print(i);
}
}
}
打印结果是:
01345
01
作者:
李伟斌
时间:
2012-12-3 19:59
break是结束循环
continue是结束本次循环,进入下一循环;
比如
for(i=1;i<=10;i++)
{
if(i=4)break/continue
}
如果是break那么当循环到i=4的时候,就不再循环了,跳出如果是continue那么当循环到i=4的时候,就不执行i=4的操作了,跳出本次循环,执行i=5
作者:
马纵驰
时间:
2012-12-4 13:24
break语句 (强行结束循环)
break语句作用:1、可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句。2、使流程跳出switch结构
注意:break语句不能用于循环语句和switch语句之外的任何其他语句中
continue语句作用:结束本次循环,即忽略循环体中continue语句下面尚未执行的语句,接着进行下一次是否执行循环的判定。
注意:continue语句不能用于循环语句之外的任何其他语句中
continue语句和break语句的区别:
continue语句只结束本次循环,而不是终止整个循环的执行。
break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。break语句可以用在循环语句和switch语句中。在循环语句中用来结束内部循环;在switch语句中用来跳出switch语句。
注意:循环嵌套时,break和continue只影响包含它们的最内层循环,与外层循环无关。
作者:
庄生晓梦
时间:
2012-12-4 14:26
break退出当前循环;
continue是退出本次循环,进入下一次循环。
作者:
Kevin123
时间:
2012-12-4 15:47
continue:跳出本次循环,接着下一次条件判断,再循环;
break: 终止循环,跳出循环体。以后的循环将不再执行,这是两者的根本区别。
作者:
但汉涛
时间:
2012-12-6 00:03
这个可以重新看下毕老师基础教程第三天(10)的内容。
出现break,那么肯定会结束循环,跳出循环体。
continue结束本次循环,继续下次循环。
break和continue.png
(71.56 KB, 下载次数: 58)
下载附件
2012-12-6 00:03 上传
作者:
丁桂松
时间:
2012-12-6 05:01
本帖最后由 丁桂松 于 2012-12-6 05:13 编辑
好吧.回答的少.不给分.给段代码.
<P>public class Monkey {
/**
* 海滩上有一堆桃子.有五只猴子来分 第一只猴子发现了桃子,将桃子分成了五份.发现多了一个.吃了,拿走了一份
* 第二只猴子也来到了海滩发现了桃子,也是将桃子分成了五份,发现多了一个.吃了,又拿走了一分, 五只猴子都是这么做的,问海滩上最初有多少个桃子.
*/
public static void main(String[] args) {
Monkey.peach();
}
public static void peach() {// 5^5 -4;
falg: for (int j = 0;; j++) {//用falg标记外层循环.
int count = j; // 海滩上桃子的总数
for (int i = 0; i < 5; i++) {// 定义循环, 循环5次, 测试count是否能够分5次
if ((count - 1) % 5 == 0) {// 判断是否能满足吃掉1个然后再分成5分
count = (count - 1) / 5 * 4;// 如果可以分, 那么就改变海滩上桃子的总数, 吃1个,
// 分成5份, 留下4份
} else {// 如果不能分成5份, 跳过本次循环, 继续判断下一个数字
continue falg;
}
}
System.out.println(j);// 如果循环结束了, 代表成功分了5次
break;
}
}
}
</P>
<P>
</P>
复制代码
上面的break是跳出所有的for循环.continue 可以指定跳转的标签位置.
流程控制也可以使用return下面附代码.以XML文件操作.根据指定的标签的属性.获得他的子标签文本信息为例
作者:
丁桂松
时间:
2012-12-6 05:15
public class TestXML {
// 查找某一个节点: 查找id为007的所有信息
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
// List<Element> list =new SAXReader().read(new
// File(PATH)).getRootElement().elements("user");
String PATH = "G:/workspaces/day10/src/dojoo/XMLdemo/NewFile1.xml";
String id = "007";
Document document = new SAXReader().read(PATH);
Element rootelement = document.getRootElement();
List<Element> list = rootelement.elements("user");
for (Element element : list) {
String xmlID = element.attributeValue("id");
if (id.equals(xmlID)) {
String name = element.elementText("name");
String password = element.elementText("password");
System.out.println(name + ":" + password);
return;
}
System.out.println("无法获取信息!");
}
}
}
复制代码
程控制也可以使用return下面附代码.以XML文件操作.根据指定的标签的属性.获得他的子标签文本信息为例
如果这里使用break跳转将导致因为顺序结构的关系.下面的System.out.println("无法获取信息!");也会执行.因此使用return
作者:
邢晏玮
时间:
2012-12-6 11:58
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少了一行。
作者:
焦健
时间:
2012-12-6 20:16
break跳出循环,执行循环语句后面的内容,continue仅跳过本次循环,进入下一次循环
作者:
焦健
时间:
2012-12-6 21:51
break跳出循环,执行循环语句后面部分的代码,continue仅跳过本次循环,继续判断条件是否为真,为真时进入下一次循环。
作者:
胡高德
时间:
2012-12-6 22:00
break是中断当前正在进行的循环,并跳出循环;
continue 也是跳出当前循环,唯一与break不同的是,跳出当前条件不成立的循环,判断下一个条件是否为ture,为ture的话则循环继续执行。
作者:
杨从强
时间:
2012-12-6 23:40
他们在多层循环中就可以容易的看见其区别。
就举个双层的for循环例子吧。
如果内循环是continue的话就直接跳出内循环执行外循环的下一次循环,是break的话直接就跳出外循环结束了。
不知道你懂了没有。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2