Java 退出循环的方法有,使用关键字,return、break、continue和使用标志位,下面通过实例介绍(其中continue和其他的有点区别,下面详说):
(看完不知道我说啥的话,就直接执行代码,看结果,实践不但检验真理的标准,也是理解事物的好方法,自己试过才能明白,理解得深刻)
退出单个循环:
使用return、break:return、break会结束整个循环,以下面代码为例,其输出结果为0 1 2 3 4 5,也就是说当执行到return或break时这个循环就会被结束(不是结束当前这一次循环,而是整个,结束后不会再执行下一次的循环)
public class test {
public static void main(String[] args) {
for(int i = 0; i < 10; i++){
System.out.println(i);
if(i == 5)
return;//或者这里使用break;这两个关键字的效果是一样的
}
}
}
使用continue: continue作用是 结束当前循环进入一次循环,当continue执行后,continue后面的代码就不会执行,然后进入下一次循环(这就是continue和break、return的区别,结束整个循环和直接进入下一次循环的区别)
public class test {
public static void main(String[] args) {
for(int i = 0; i < 5; i++){
System.out.println(i);
if(i == 2)
continue;
System.out.println("执行continue后,你是看不到我的,你数数看,我是不是只有4次少了一次");
}
}
}
退出多嵌套循环:
我们设置一个标志位置,例如下面代码中的OK,当想结束整个循环时,直接break OK; 它就会退出到OK的位置,不再执行循环了
public class test {
public static void main(String[] args) {
OK:
for(int i = 0; i < 10; i++){
for(int j = 0; j < 10; j++){
System.out.println(j);
if(j == 5)
break OK;
}
}
}
}
这个也是退出嵌套循环的,当j等于5时,flag被设true,然后break;结束当前循环退出到外循环,由于flag已被设为true,外循环有个条件!flag,当前不符合这个条件,所以整个嵌套循环就结束了
public class test {
public static void main(String[] args) {
boolean flag = false;
for (int i = 0; i < 10 && !flag; i++) { //当flag为true时跳出循环
for (int j = 0; j < 10; j++) {
System.out.println(j);
if (j == 5) {
flag = true;
break;
}
}
}
}
}