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;
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 以及一个标识变量,实现跳出外部的循环结构。
---------------------------------------------------------------------------------------------------------------------------------------------------------
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++语句。
------------------------------------------------------------------------------------------------------------------------------------------------------------
小结
在实际的代码中,可以根据需要使用break 和continue 语句调整循环语句的执行,break 语句的功能是结束所在的循环,而continue 语句的功能是跳过当次循环未执行的代码,直接执行下一次循环。
}
}
说明:这里的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 以及一个标识变量,实现跳出外部的循环结构。
---------------------------------------------------------------------------------------------------------------------------------------------------------
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++语句。
------------------------------------------------------------------------------------------------------------------------------------------------------------
小结
在实际的代码中,可以根据需要使用break 和continue 语句调整循环语句的执行,break 语句的功能是结束所在的循环,而continue 语句的功能是跳过当次循环未执行的代码,直接执行下一次循环。