循环的终止操作(break,continue,lable,return)
break是跳出一层循环,continue是结束一次循环,return是结束所有层循环。
一般我们都使用break和continue关键字来结束循环,其中break关键字用来终止整个循环,跳出循环,执行循环后的操作;continue关键字用来终止当次循环,进行下一次循环。若是循环嵌套,break和continue只能终止它们所在的最底层的循环操作,若要终止叫外层的操作,需要用标签标注外层循环,并将标签加在break和continue关键词后面标示。
示例:
package com.ytzl.test;
public class XunHuanZhongZhi {
public static void main(String[] args) {
int sum = 0;
lable: for (int i = 1; i <= 15; i++) {
for (int j = 1; j < 10; j++) {
sum += j;
if (j == 9)
break lable;
}
}
System.out.println(sum);
}
}
执行结果sum=45;当i=1时,内层循环执行j=9时,sum +=j得sum=45,满足if(j==9)执行break lable,直接跳出
外层循环,并不执行内层j=10和外层i=2。
public class XunHuanZhongZhi {
public static void main(String[] args) {
Out:
for(int i=1;i<=3;i++){
System.out.println("开始循环"+i);
In:
for(int j=1;j<=3;j++){
System.out.println("最内层循环进行了"+j+"次!");
break In;
/*return;*/
//break Out;
}
System.out.println("最外层循环"+i+"次");
System.out.println("******************");
}
}
}
输出结果为:
开始循环1
最内层循环进行了1次!
最外层循环1次
******************
开始循环2
最内层循环进行了1次!
最外层循环2次
******************
开始循环3
最内层循环进行了1次!
最外层循环3次
******************
把break In改为return,输出结果为:
开始循环1
最内层循环进行了1次!
在该程序中与该位置加break out效果等同。
还有一种方法是让外层的循环条件表达式的结果可以受到里层循环体代码的控制
例如,要在二维数组中查找到某个数字:
int arr[][] ={{1,2,3},{4,5,6,7},{9}};
boolean found = false;
for(int i=0;i<arr.length&& !found;i++) {
for(int j=0;j<arr[i].length;j++){
System.out.println(“i=” + i + “,j=” + j);
if(arr[i][j] ==5) {
found = true;
break;
}
}
}