Java编程那些事儿38—break和continue语句
当前位置:以往代写 > JAVA 教程 >Java编程那些事儿38—break和continue语句
2019-06-14

Java编程那些事儿38—break和continue语句

Java编程那些事儿38—break和continue语句

副标题#e#

5.5 break和continue语句

break和continue语句是和轮回语句细密相关的两种语句。个中break要害字的意思是间断、打断,continue要害字的意思是继承。利用这两个要害字可以调理轮回的执行。

5.5.1break语句

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的轮回。


#p#副标题#e#

同样的成果也可以利用如下的逻辑实现:

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语句的成果是跳过当次轮回未执行的代码,直接执行下一次轮回。

文章来历:http://blog.csdn.net/Mailbomb/archive/2008/06/18/2561368.aspx

    关键字:

在线提交作业