break适用范围:只能用于switch或者是循环语句中。当然可以用于增强for循环。
break作用:
1. break用于switch语句的作用是结束一个switch语句。
2. break用于循环语句中的作用是结束当前所在的循环语句。
break和continue区别:
break是结束循环,进行循环的下一条语句
continue是结束本次循环,进行下一次循环。
平时我们用break也就是简单的结束当前循环,今天在做笔试题中遇到一个结束外层循环的用法,所以自己亲自测试了一下。结合标记用法可以实现,标记同样适用于continue。
用法一:普通的结束当前最内层循环用法
@Test
public void test3() {
int i=3,j;
while(i>0){
j=3;
while(j>0){
if(j<2) break;
System.out.println(j+"and"+i);
j--;
}
i--;
}
}
结果:
3and3
2and3
3and2
2and2
3and1
2and1
用法二:加上标记结束最内层循环:(与用法一等价)
@Test
public void test2() {
int i=3,j;
while(i>0){
j=3;
inner:while(j>0){
if(j<2) break inner;
System.out.println(j+"and"+i);
j--;
}
i--;
}
}
结果:
3and3
2and3
3and2
2and2
3and1
2and1
用法三:加上标记结束最外层循环(重要)
@Test
public void test() {
int i=3,j;
outer:while(i>0){
j=3;
inner:while(j>0){
if(j<2) break outer;
System.out.println(j+"and"+i);
j--;
}
i--;
}
}
结果:
3and3
2and3
例四:continue结合标记用法
/**
* 测试continue循环
*/
@Test
public void test1(){
first:for(int i=0;i<4;i++){
if(i==2){
continue first;
}
second:for(int j=0;j<4;j++){
if(j==2){
continue first;
}
System.out.println("i="+i+","+"j="+j+"\t");
}
}
}
结果:
i=0,j=0
i=0,j=1
i=1,j=0
i=1,j=1
i=3,j=0
i=3,j=1