302班

          java突擊隊(duì)
          posts - 151, comments - 74, trackbacks - 0, articles - 14
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          在一具循環(huán)體中,如果用break返回, 則不管其后面是否有滿足for中條件的情況,都不做for中的循環(huán)體,即不會(huì)做;
          如果用continue返回,如果條件滿足執(zhí)行continue, 跳出下面語(yǔ)句的執(zhí)行,而返回到for 語(yǔ)句的開頭,再次判斷for中的條件,從而根據(jù)條件執(zhí)行其中的循環(huán)體內(nèi)容。

          簡(jiǎn)單地說,比如這樣一個(gè)程序:
          for(...) {
          ...
          continue/break;
          ...
          }
          System.out.prinln("a");

          continue表示立即去執(zhí)行“for(...)”這行代碼,break表示立即去執(zhí)行“System.out.prinln("a");”這行代碼。我隨手寫了一段程序,你看看可能能幫助你理解。
          public class BreakTest {
          public static void main(String args[]) {
          System.out.println("循環(huán)沒有開始");

          System.out.println("現(xiàn)在開始測(cè)試continue");
          for (int i = 0; i < 3; i++) {
          System.out.println("開始第" + i + "次for循環(huán)");
          if (i == 1) {
          continue;
          }
          System.out.println("看看continue后這里執(zhí)行了嗎?");
          }
          System.out.println("continue測(cè)試完畢\n***********************");

          System.out.println("現(xiàn)在開始測(cè)試break");
          for (int i = 0; i < 3; i++) {
          System.out.println("開始第" + i + "次for循環(huán)");
          if (i == 1){
          break;
          }

          System.out.println("看看break后這里執(zhí)行了嗎?");
          }
          System.out.println("break測(cè)試完畢\n***********************");
          }
          }
          1. break 與 continue 加標(biāo)簽用法
          在Java語(yǔ)句里,唯一能放標(biāo)簽的地方是在循環(huán)語(yǔ)句前面。而且循環(huán)語(yǔ)句跟標(biāo)簽之間不能有任何東西。
          label1:
          outer-iteration {
            inner-iteration {
                //...
                break; // 1
                //...
                continue; // 2
                //...
                continue label1; // 3
                //...
                break label1; // 4
             }
          }

          案例1會(huì)中斷內(nèi)部循環(huán)。2會(huì)中斷內(nèi)部當(dāng)前循環(huán),直接跳入下一輪循環(huán)。案例3中斷內(nèi)部和外部循環(huán),跳到label1,從外部開頭重新開始循環(huán)。案例4跳到label1,且不在進(jìn)入循環(huán)。

          下面舉例:

          public class LabeledFor {
            static Test monitor = new Test();
            public static void main(String[] args) {
                int i = 0;
                outer: // Can't have statements here
                for(; true ;) { // infinite loop
                     inner: // Can't have statements here
                     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;
                              }
                          }
                     }
                }
            }
          ///:~

          結(jié)果:
          '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'
              class TestBreak
              
          {
                  
          static void Main(string[] args)
                  
          {
                      List
          <int> list = new List<int>();
                      
          for (int i = 0; i < 100; i++)
                      
          {
                          list.Add(i);
                      }

                      
          foreach (int i in list)
                      
          {
                          
          if (i == 2)
                          
          {
                              
          continue;//結(jié)束此次循環(huán),不再執(zhí)行席邁的代碼,繼續(xù)下一次循環(huán)
                          }

                          
          if (i ==10)
                          
          {
                              
          break;//退出整個(gè)循環(huán)
                          }

                          Console.WriteLine(
          "該值為:" + i.ToString());
                      }

                  }

              }


          評(píng)論

          # re: continue與break的區(qū)別,用法  回復(fù)  更多評(píng)論   

          2007-04-14 10:44 by 我為J狂
          break 與 continue 加標(biāo)簽相當(dāng)于goto語(yǔ)句,不建議大家使用。

          # re: continue與break的區(qū)別,用法  回復(fù)  更多評(píng)論   

          2007-04-14 21:27 by 停留的風(fēng)
          @我為J狂
          說的非常好。多謝提醒

          # re: continue與break的區(qū)別,用法  回復(fù)  更多評(píng)論   

          2007-06-01 09:43 by 148447809
          謝謝,讓我搞得更明白,這個(gè)很好

          # re: continue與break的區(qū)別,用法  回復(fù)  更多評(píng)論   

          2007-06-02 09:28 by yank
          客氣啦。大家互相學(xué)習(xí)哦
          主站蜘蛛池模板: 如东县| 自治县| 永宁县| 古蔺县| 陆川县| 湖州市| 东方市| 嘉荫县| 娱乐| 沁水县| 天全县| 武邑县| 阿拉善右旗| 淄博市| 巴中市| 防城港市| 彭泽县| 广安市| 仙游县| 江源县| 八宿县| 驻马店市| 邓州市| 杭锦旗| 旺苍县| 南汇区| 万荣县| 饶平县| 靖州| 五寨县| 肥东县| 吉隆县| 合作市| 浮梁县| 龙山县| 金沙县| 安宁市| 蓝田县| 精河县| 河东区| 房山区|