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