控制循环结构
-
break
break用于完全结束一个循环,跳出循环体。
break 语句不仅可以结束,其所在的循环,还可以直接结束其外层循环,此时需要在break后紧跟一个标签,这个标签用于标识一个外层循环。java中的标签就是一个紧跟着英文冒号的标识符,在java中标签只有放在循环语句之前才有作用,例如:
outer:
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 3; j++) {
System.out.println("i=" + i +"j=" + j);
if (j == 2) {
break outer;
}
}
}
当程序从外层循环进入到内层的循环后,当j等于2时,程序遇到了break outer;语句,这行代码将会导致结束outer标签指定的循环,所以有上面的结果。
-
continue
continue的功能和break有点相似,区别是continue只是终止本次循环可以理解为,continue的作用是略过当次循环中剩下的语句,重新开始新的循环。例如:
for (int i = 0; i < 3;i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
continue;
}
System.out.println("i=" + i + "j=" +j);
}
}
运行结果为:
由上面的运行结果来看,当j等于1时,后面的输出语句就被忽略了,直接进行下一次循环。
与break类似的,continue也可以紧跟一个标签,用于直接结束标签所标识循环的当次循环,重新开始下一次循环,例如:
outer:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
continue outer;
}
System.out.println("i=" + i +"j=" + j);
}
}
运行结果:
由结果可以看出,j没有大于1的情况输出,因为当进入内层循环时候,j等于1时遇到continue outer;语句后就结束了当次的外层循环,重新开始新的循环。
-
return
return不是专门用来跳出循环的,return的功能是结束一个方法,当一个方法执行到一个return语句时,方法被结束,循环液自然会被结束。例如:
for (int i = 0; i < 4; i++) {
if(i == 2) {
return;
}
System.out.println("i="+ i );
}
运行结果为:i=0
i=1
由上可以看出,当i等于1时,循环被中断了。可以说明,return可以结束一个循环。