JAVA基础---break语句和continue语句
最近在温习java基础,对break和continue又重新认识一下。仅此记录一下供以后查阅。 java中break语句和continue语句是和循环语句紧密相关的两种语句。 其中break关键字意思是中断,打断;continue关键字意思是继续。 使用这两个关键字可以调节循环的执行。
break语句 在循环语句中,break的作用是结束循环语句的执行。 break语句可以用在三种循环语句的内部,功能完全相同。下面以while语句为例来说明break语句的基本使用极其功能。 示例代码:
int i= 0; while(i<7){ i++; if(i==5){ break; } }
则该循环在变量i的值等于5时,满足条件,然后执行break语句,结束整个循环,接着执行循环后续代码。 在实际代码中,会因为逻辑复杂存在循环嵌套的语句,如果break出现在循环嵌套的内部时,则只结束break语句所在的循环,对于其他的循环没有影响。 示例代码:
for(int i = 0;i < 2 ;i++){ for(int j = 0;j < 5 ; j++){ system.out.println(j); if(j == 3){ break; } } }
结果为: 0 1 2 3 0 1 2 3 则该break语句因为出现在循环变量j的循环内部,则执行到break语句时,只中断循环变量为j的循环,而对循环变量i的循环没有影响。
如果需要中断外部的循环,则可以通过使用语法提供的标签语句来标识循环的位置,然后跳出标签对应的循环。 示例代码:
lable: for(int i = 0;i < 2 ;i++){ for(int j = 0;j < 5 ; j++){ system.out.println(j); if(j == 3){ break lable; } } }
结果为: 0 1 2 3 说明:这里的lable是标签名称,可以为java语言中任意合法的标识符,标签语句必须和循环匹配使用,使用时书写在对应的循环语句的上面,标签语句以冒号结束。如果需要中断标签语句对应的循环时,采用break后面跟标签名的方式中断对应的循环。则在上面的例子中break中断的是i循环。
同样的功能还可以这样实现:
boolean b = false; for(int i = 0;i < 2 ;i++){ for(int j = 0;j < 5 ; j++){ system.out.println(j); if(j == 3){ b = true; break ; } } if(b){ break; } }
此例子通过一个标识两个break,实现跳出外部循环。
continue语句 continue语句只能使用在循环语句内部,功能是跳过该次循环,继续执行下一次循环结构。在while 和 do while语句中continue语句跳转到循环条件处开始继续执行,而在for语句中continue语句跳转到迭代语句处开始继续执行。 示例代码:
int i= 0; while(i<4){ i ++; if(i == 2){ continue; } systerm.out.println(i); }
结果为: 1 3 4 在上述例子中变量i的值是2时,执行continue语句,则后续未执行完的循环体将被跳过,而直接进入下一次循环。 在实际代码中,可以使用continue语句跳过循环中的某些内容。 和前面介绍的break语句类似,continue语句使用在循环嵌套的内部时,也只是跳过所在循环的结构,如果需要跳过外部的循环,则需要使用标签语句标识对应的循环结构。 示例代码:
lable: for(int i = 0;i < 2 ;i++){ for(int j = 0;j < 5 ; j++){ system.out.println(j); if(j == 3){ continue lable; } } }
结果为: 0 1 2 3 0 1 2 3 这样在执行continue语句时,就不再是跳转到j++语句,而是跳转到i++语句。