Java中break、continue及标签等跳转语句的使用[上]

时间:2023-03-09 17:40:50
Java中break、continue及标签等跳转语句的使用[上]

java 中跳转语句使用break、continue和标签,各自或组合完成相应的功能。

今天做题时遇到关于标签命名规范,顺便将跳转语句语法都看了一遍,很有收获。

在《Java编程思想》一书中,作者详细阐述,现将案例代码写在下面:

public class LabeledFor {

    public static void main(String[] args) {
int i=0;
outer:
for(;true;){
inner:
for(;i<10;i++){
System.out.println("i="+i);
if(i==2){
System.out.println("continue");
continue;
}
if(i==3){
System.out.println("break");
i++; //otherwise i never gets incremented
break;
}
if(i==7){
System.out.println("continue outer");
i++; //otherwise i never gets incremented
continue outer;
}
if(i==8){
System.out.println("break outer");
break outer;
}
for(int k=0;k<5;k++){
if(k==3){
System.out.println("continue inner");
continue inner;
}
}
}
} } }

运行结果见下图:

i=0
continue inner
i=1
continue inner
i=2
continue
i=3
break
i=4
continue inner
i=5
continue inner
i=6
continue inner
i=7
continue outer
i=8
break outer

  自认为比较重要的一点是,break中断for循环,而且是在抵达for循环的末尾之前,也就是说,递增表达式将不会执行。continue确不会跳过递增语句。

  同样的,这个例子中,当i==7的情况下,continue outer语句会跳到循环顶部,而且也会跳过递增。

  如果没有break outer,就没有办法从内部循环里跳出外部循环。这是由于break本身只能中断最内层的循环(continue同样如此)。

  如果想中断同时退出,简单地用一个return即可。