[转帖]   Java编程:break和continue语句_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3749 | 回复: 0   主题: [转帖]   Java编程:break和continue语句        下一篇 
funny
注册用户
等级:中校
经验:1529
发帖:111
精华:4
注册:2013-3-13
状态:离线
发送短消息息给funny 加好友    发送短消息息给funny 发消息
发表于: IP:您无权察看 2013-3-13 15:56:27 | [全部帖] [楼主帖] 楼主

break和continue语句是和循环语句紧密相关的两种语句。其中break关键字的意思是中断、打断,continue关键字的意思是继续。使用这两个关键字可以调节循环的执行。

5.5.1 break语句

break语句在前面的switch语句中已经介绍过,功能的话是中断switch语句的执行,在循环语句中,break语句的作用也是中断循环语句,也就是结束循环语句的执行。

break语句可以用在三种循环语句的内部,功能完全相同。下面以while语句为例来说明break语句的基本使用及其功能。

示例代码:

int i = 0;

while(i < 10){

    i++;

    if(i == 5){

    break;

    }

}

则该循环在变量i的值等于5时,满足条件,然后执行break语句,结束整个循环,接着执行循环后续的代码。

在循环语句中,可以使用break语句中断正在执行的循环。

在实际的代码中,结构往往会因为逻辑比较复杂,而存在循环语句的嵌套,如果break语句出现在循环嵌套的内部时,则只结束break语句所在的循环,对于其它的循环没有影响,示例代码如下:

for(int i = 0; i < 10; i++){

    for(int j = 0; j < 5; j++){

    System.out.println(j);

    if(j == 3){

    break;

    }

    }

}

则该break语句因为出现在循环变量为j的循环内部,则执行到break语句时,只中断循环变量为j的循环,而对循环变量为i的循环没有影响。

在上面的示例代码中,如果需要中断外部的循环,则可以使用语法提供的标签语句来标识循环的位置,然后跳出标签对应的循环。示例代码如下:

lable1:

for(int i = 0; i < 10; i++){

    for(int j = 0; j < 5; j++){

    System.out.println(j);

    if(j == 3){

    break label1;

    }

    }

}

说明:这里的label1是标签的名称,可以为Java语言中任意合法的标识符,标签语句必须和循环匹配使用,使用时书写在对应的循环语句的上面,标签语句���冒号结束。如果需要中断标签语句对应的循环时,采用break后面跟标签名的方式中断对应的循环。则在该示例代码中break语句中断的即循环变量为i的循环。

同样的功能也可以使用如下的逻辑实现:

boolean b = false;

for(int i = 0; i < 10; i++){

    for(int j = 0; j < 5; j++){

    System.out.println(j);

    if(j == 3){

    b = true;

    break;

    }

    }

    if(b){

    break;

    }

}

该示例代码中,通过组合使用2个break以及一个标识变量,实现跳出外部的循环结构。

5.5.2 continue语句

continue语句只能使用在循环语句内部,功能是跳过该次循环,继续执行下一次循环结构。在while和do-while语句中continue语句跳转到循环条件处开始继续执行,而在for语句中continue语句跳转到迭代语句处开始继续执行。

下面以while语句为例,来说明continue语句的功能,示例代码如下:

int i = 0;

while(i < 4){

    i++;

    if(i == 2){

    continue;

    }

    System.out.println(i);

}

则该代码的执行结果是:

1

3

4

在变量i的值等于2时,执行continue语句,则后续未执行完成的循环体将被跳过,而直接进入下一次循环。

在实际的代码中,可以使用continue语句跳过循环中的某些内容。

和前面介绍的break语句类似,continue语句使用在循环嵌套的内部时,也只是跳过所在循环的结构,如果需要跳过外部的循环,则需要使用标签语句标识对应的循环结构。示例代码如下:

lable1:

for(int i = 0; i < 10; i++){

    for(int j = 0; j < 5; j++){

    System.out.println(j);

    if(j == 3){

    continue label1;

    }

    }

}

这样在执行continue语句时,就不再是跳转到j++语句,而是直接跳转到i++语句。

5.5.3 小结

在实际的代码中,可以根据需要使用break和continue语句调整循环语句的执行,break语句的功能是结束所在的循环,而continue语句的功能是跳过当次循环未执行的代码,直接执行下一次循环。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论