原文链接:
java学习笔记--基础知识--break和while_guothree2003的博客-CSDN博客_java中while和break
break和while与标签配合,实现跳转,可以从多层嵌套中跳出,不是很常用,但是也记录下:
规则:
- 条件式打断
- 直接 break
- 简单的一个 continue 会退回当前循环的开头(顶部),并继续执行。
- 带有标签的 continue 会到达标签的位置,并重新进入紧接在那个标签后面的循环。
- break 会中断当前循环,并到达当前循环的末尾。
- 带标签的 break 会中断当前循环, 并到达由那个标签指示的循环的末尾
条件式打断,通过对Boolean赋值 , 在循环过程中改变其 属性, 再次判断就可以直接退出while .
Boolean bobo=true;
int num= 0;
while (bobo==true){
num+=1;
if (num>10){
bobo=false;
}
}
直接 break
import org.junit.jupiter.api.Test;
public class TestLoop {
@Test
public void method(){
int num=0;
while(true){
num+=1;
System.out.println(num);
if (num > 4) {
break;
}
}
}
}
运行结果:
>>>1
>>>2
>>>3
>>>4
>>>5
这个会一直循环:
import org.junit.jupiter.api.Test;
public class TestLoop {
@Test
public void method2(){
bbb: //标签和后面的循环之间不允许写入任何其他语句
while(true){
System.out.println("before While 2");
aaa:
while(true){
System.out.println("In While 2");
break aaa; //注意此处,虽然会跳转到aaa,但是内层的while不会再被执行,而是继续执行 System.out.println("After While 2");
}
System.out.println("After While 2");
continue bbb; //注意此处,虽然会跳转到bbb, 然后重新进入外部的while循环
}
}
}
下面的代码,需要注意的是变量i,仅初始化一次
public class TestLoop {
public static void main(String[] args) {
outloop:
for (int i = 0; i < 4; i++) {
inloop:
for (int j = 0; j < 10; j++) {
if (j == 5) {
break inloop;
}
System.out.println("Inloop:" + j);
}
System.out.println("Outloop:" + i);
continue outloop;
}
}
}
运行结果:
Inloop:0
Inloop:1
Inloop:2
Inloop:3
Inloop:4
Outloop:0
Inloop:0
Inloop:1
Inloop:2
Inloop:3
Inloop:4
Outloop:1
Inloop:0
Inloop:1
Inloop:2
Inloop:3
Inloop:4
Outloop:2
Inloop:0
Inloop:1
Inloop:2
Inloop:3
Inloop:4
Outloop:3