Java之循環控制loop


  在Java中,循環的邏輯常用break、continue、某一個變量值來控制。其實在java中還存在一個LOOP,用在break、continue之后,標記循環應該跳出到的位置。下面用幾個小demo來說明。

一、常用的break:跳出當前循環

import org.junit.Test;

public class LoopDemo {

    @Test
    public void testNormalBreak() {
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.println("i =" + i + "; j = " + j);
                if(j == 2) {
                    break;
                }    
            }
        }
    }
}

  運行結果如下

  

 二、break后標記loop,跳出循環到指定位置

import org.junit.Test;

public class LoopDemo {

    @Test
    public void testLoopBreak() {
        loop:
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.println("i =" + i + "; j = " + j);
                if(j == 2) {
                    break loop;
                }    
            }
        }
    }
}

  運行結果如下

  

   由break的兩個簡單的demo可以看出,雙重循環的場景下,break只是跳出當前循序;break后加上標記位,跳出循環到標記位指定的位置。

三、常用的continue:跳過本次循環

import org.junit.Test;

public class LoopDemo {
    
    @Test
    public void testNormalContinue() {
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 4; j++) {
                if(j == 2) {
                    continue;
                }
                System.out.println("i =" + i + "; j = " + j);
            }
        }
    }
}

  運行結果如下

  

四、常用的continue:跳過本次循環

import org.junit.Test;

public class LoopDemo {

    @Test
    public void testLoopContinue() {
        loop:
        for (int i = 0; i < 2; i++) {
            for (int j = 0; j < 4; j++) {
                if(j == 2) {
                    continue loop;
                }
                System.out.println("i =" + i + "; j = " + j);
            }
        }
    }
}

  運行結果如下

  

  由continue的兩個簡單的demo可以看出,雙重循環的場景下,continue只是跳過本次循環;continue后加上標記位,跳過循環到標記位指定的位置。

  日常開發中通常用不到loop標記位的功能,官方給出的建議是盡量不要這樣使用,在jdk8中BufferedReader的readLine方法中看到了這樣的用法,特此記錄一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM