文档章节

Java编程:break和continue语句

闻术苑
 闻术苑
发布于 2012/10/19 23:33
字数 1090
阅读 16
收藏 0
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语句的功能是跳过当次循环未执行的代码,直接执行下一次循环。

© 著作权归作者所有

共有 人打赏支持
闻术苑
粉丝 63
博文 165
码字总数 68374
作品 0
济南
产品经理
私信 提问
Java基础教程,第七讲,条件控制、循环语句、数组

学完此次课程,我能做什么? 学完此次课程我们将掌握Java中的条件判断和多种循环语句,并且掌握数组的定义和初始化,以及几个常用的数组函数。 学习此次课程,需要多久? 10分钟 课程内容 和...

程序员补给栈
02/09
0
0
JAVA 循环结构 - for, while 及 do…while

Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,,就需要使用循环结构。 Java中有三种主要的循环结构: http://www.iis7.com/...

二九结狐六体
03/02
0
0
《Java从小白到大牛》之第7章 控制语句

《Java从小白到大牛》纸质版已经上架了!!! 程序设计中的控制语句有三种,即顺序、分支和循环语句。Java程序通过控制语句来管理程序流,完成一定的任务。程序流是由若干个语句组成的,语句...

tony关东升
2018/06/25
0
0
JAVA final finally finalize区别

简单区别: 中等区别: 虽然这三个单词在Java中都存在,但是并没有太多关联: final:java中的关键字,修饰符。 1.如果一个类被声明为final,就意味着它不能再派生出新的子类,不能作为父类被...

qq22734179
2014/03/21
0
0
kan-java, 一个能裁剪语法特性的java动态编译工具

'kan-java' 就是 '砍-java', 就是字面意思 这是一个java代码动态编译工具,也就是能够把String形式的java代码实时地编译为字节码的工具; “动态编译”工具,其实自jdk1.6发布以来,应该出现...

pf_miles
2015/03/28
172
0

没有更多内容

加载失败,请刷新页面

加载更多

Java12的新特性

Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的新特性 Java10的新特性 Java11的新特性 Java12的新特性 Java13的新特性 序 本文主要讲述一下Java12的新特...

go4it
22分钟前
3
0
深入解密比Guava Cache更优秀的缓存-Caffeine

1.前言 读这篇文章之前希望你能好好的阅读: 你应该知道的缓存进化史 和 如何优雅的设计和使用缓存? 。这两篇文章主要从一些实战上面去介绍如何去使用缓存。在这两篇文章中我都比较推荐Caffe...

咖啡拿铁的技术分享
24分钟前
2
0
Java B2B2C多用户商城 springcloud架构 --Eureka服务器搭建及配置

第一步,创建一个普通的springboot项目 以下方法都可以快速创建一个boot项目: 1. 浏览器访问http://start.spring.io/,填写信息,下载zip包,加压到你的ide的工作空间直接使用。 2. 使用ide...

明理萝
35分钟前
1
1
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作

· Oracle 撒手,宣布对个人用户 (Personal Users) , Java 8 官方支持时间持续到 2020 年 12 月;对商业用户(Commercial Users),2019 年 1 月之后不再提供免费更新。 · 红帽喊话,计划在...

Java填坑路
38分钟前
0
0
在 Ali Kubernetes 系统中,我们这样实践混沌工程

在传统的软件测试中,我们通常通过一个给定的条件来判断系统的反馈,通过断言来判断是否符合预期,测试条件和结果通常比较明确和固定。而混沌工程,是通过注入一些“不确定”因素,象放进了一...

阿里云官方博客
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部