break的作用 : break用于在循环中强行退出循环,不执行循环中剩余的语句,但只能退出一层循环.
continue的作用: continue则停止执行当前循环,然后退回循环起始处,开始下一次循环,也只能终止一层循环.
public class BreakAndContinue {
public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
if (i == 74) // 如果i=74则退出循环
break;
if (i % 9 != 0) // 如果i不是9的倍数则结束这次循环不做任何操作
continue;
System.out.print(i + " ");
}
}
}
结果:
return的作用: return也会退出循环,但同时会结束当前的方法.
public class Return {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if (i == 8) // 如果i=8则退出循环并结束方法
return;
System.out.print(i + " ");
}
System.out.println("我还会执行?"); //return结束方法这句不会执行
}
}
结果:
附:添加标签后
标签的作用: break和continue配合标签使用就能中断或终止循环,然后到达标签的位置.(相当于C语言中的goto语句)
标签的用处 在多层循环中,想从中break或continue.
public class LabelLoop {
public static void main(String[] args) {
int i = 0;
outer: //标签位置
while (true) {
System.out.println("Outer while loop");
while (true) {
i++;
System.out.println("i=" + i);
if (i == 1) {
System.out.println("continue");
continue; //终止这次循环
}
if (i == 3) {
System.out.println("continue outer");
continue outer; //终止这次循环,并跳转到标签位置继续执行
}
if (i == 5) {
System.out.println("break");
break; //退出一层循环
}
if (i == 7) {
System.out.println("break outer");
break outer; //退出循环回到标签处,退出后不会继续执行循环
}
}
}
}
}
结果:
注意事项
- 一般的continue会退回到最内层循环的开头(顶部),并继续执行.
- 带标签的continue会到达标签的位置,并重新进入紧接在那个标签后面的循环.
- 一般的break会中断并跳出当前循环.
- 带标签的break会中断并跳出标签指的循环.