return,break,continue三者的區別


return,break,continue三者區別

 

break用於完全結束一個循環,跳出循環體。不管是哪種循環,一旦在循環體中遇到break,系統將完全結束循環,開始執行循環之后的代碼。 break不僅可以結束其所在的循環,還可結束其外層循環。此時需要在break后緊跟一個標簽,這個標簽用於標識一個外層循環。Java中的標簽就是一個緊跟着英文冒號(:)的標識符。且它必須放在循環語句之前才有作用。

public class BreakTest2
{
  public static void main(String[] args){
    // 外層循環,outer作為標識符
    outer:
    for (int i = 0 ; i < 5 ; i++ ){
      // 內層循環
      for (int j = 0; j < 3 ; j++ ){
        System.out.println("i的值為:" + i + " j的值為:" + j);
        if (j == 1){
          // 跳出outer標簽所標識的循環。
           break outer;
        }
      }
    }
  }
}

 

continue的功能和break有點類似,區別是continue只是中止本次循環,接着開始下一次循環。而break則是完全中止循環。

public class ContinueTest
{
  public static void main(String[] args){
// 一個簡單的for循環
    for (int i = 0; i < 3 ; i++ ){
       System.out.println("i的值是" + i);
       if (i == 1){
         // 忽略本次循環的剩下語句
         continue;
       }
       System.out.println("continue后的輸出語句");
    }
  }
}

 

return關鍵字並不是專門用於跳出循環的,return的功能是結束一個方法。 一旦在循環體內執行到一個return語句,return語句將會結束該方法,循環自然也隨之結束。與continue和break不同的是,return直接結束整個方法,不管這個return處於多少層循環之內。

public class ReturnTest
{
  public static void main(String[] args){
    // 一個簡單的for循環
    for (int i = 0; i < 3 ; i++ ){
      System.out.println("i的值是" + i);
      if (i == 1){
        return;
      }
      System.out.println("return后的輸出語句");
    }
  }
}

 簡單的說:

break是跳出一層循環,continue是結束一趟循環 ,return才是結束所有層循環!

如果有多層for循環,break會跳出當前這一層,去執行最外層循環(而不是退出所有層循環);而continue則結束當前次循環(繼續)而去執行下次循環,但本層循環沒有結束.(注意一層循環和一次循環的區別:一層循環包含若干(i)次循環)

 
標簽:  returnbreakcontinue

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com