break&continue关键字的使用
break:使用在switch...case语句或者循环结构语句中,表示结束当前循环。
示例代码:
public class TestBreak {
public static void main(String[] args) {
for(int i = 1; i <= 5; i++){
if(i % 4 == 0){
break;//如果满足i对4取余为零,即i可以被4整除时执行break关键字,跳出循环,后续语句均不执行,在这个循环里i最大值为5,所以这里只有4可以被4整除所以打印语句只会打印1-3的值
}
System.out.println("i="+i);
}
}
}
嵌套循环中使用break关键字:
public class TestBreak {
public static void main(String[] args) {
//两层循环
for(int i = 1; i <= 5; i++){
for(int j = 1; j <= 5; j++){
if(j % 4 == 0){
break; //由于是两层循环,而break关键字使用在内层循环,如果满足条件,则只会跳出内层循环,再次进入外层循环执行语句
}
System.out.print("j="+j+"\t");
//所以会打印外层循环规定的次数的J的值,但依旧不会打印4之后的数字
}
System.out.println();
}
}
}
continue:使用在循环结构语句中,表示结束当次循环。
示例代码:
public class TestContinue {
public static void main(String[] args) {
//需要和break关键字区分开,所以讲循环条件改为10,可以更清晰的看出break和continue的区别
for(int i = 1; i <= 10; i++){
if(i % 4 == 0){
continue;//如果满足i对4取余为零,即i可以被4整除时执行continue关键字,结束本次循环,本次循环的后续语句均不执行,但下一次的循环语句若不满足被4整除的条件则会照常执行
}
System.out.print("i="+i+"\t");
}
//运行后会发现有两个数字没有打印,但是后续不满足该条件的却都打印出来,和break关键字截然不同
}
}
嵌套循环中使用continue关键字:
public class TestContinue {
public static void main(String[] args) {
//两层循环
for(int i = 1; i <= 5; i++){
for(int j = 1; j <= 10; j++){
if(j % 4 == 0){
continue; //由于是两层循环,而continue关键字使用在内层循环,如果满足条件,则只会结束本次内层循环,执行下一次内层循环语句
}
System.out.print("j="+j+"\t");
//所以会打印外层循环规定的次数的J的值,但不会打印能够被4整除的数字
}
System.out.println();
}
}
}
补充:
break和continue都有一个新添加的功能,在进行多层嵌套循环时,想要使用break和continue关键字结束非当前层而是某一层的循环时可以在关键字后面加上一个标签,该标签名是可以自行命名的,比如英文label
同时还需要在你想要结束的循环层的for关键字前面加上标签:,同样用label举例—— label:for(int i=0;循环条件;迭代){}。