跳转语句

  • Java语言提供了4种转移语句:break,continue,return和throw。
  • 转移语句的功能是改变程序的执行流程。
  • break语句可以独立使用,而continue语句只能用在循环结构的循环体中。

一、break语句

两种形式:

  • break;(跳出本层循环)
  • break lab; (跳出多重循环的外层循环)
break lab语句用在循环语句中,必须在外循环入口语句的前方写上lab标号,可以使程序流程退出标号所指明的外循环。
lab:
            for(int i =0; i<2; i++) {
                 for(int j=0; j<10; j++) {
                      if (j >1)  { 
                         break lab; 
                      }
                     System.out.println(“break");
                 }
            }

二、continue语句

continue语句只能用于循环结构中,其作用是使循环短路。

两种形式:

  • continue;(跳出本层的本次循环,继续本层下一次循环)
  • continue lab;(跳出外层的本次循环,继续外层下一次循环)
当程序中有嵌套的多层循环时,为从内循环跳到外循环,可使用带标号的continue lab语句。此时应在外循环的入口语句前方加上标号。例如:
lab:   for(int i =0; i<2; i++) {
                   for(int j=0; j<10; j++) {
                         if (j >1)  { 
                              continue lab; 
                         }
                        System.out.println("continue");
                   }
                  System.out.println("************");
              }

三、return语句

return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。

两种形式:

  • return expression ;
  • return;
return语句通常用在一个方法体的最后,否则会产生编译错误。
class TestReturn{
   public static void main(String[] args){
      int i = 10;
      if (i < 5) {
         return ;
         // i = 6;     
      } else {
        // return;
      }
      i = 5; 
  }
}
注意:上例中的去掉任意一句注释,都将产生编译错误 (Unreachable code)