初學JAVA看不太懂label,
下面分別是break跟continue設定back為跳出的位置。
public class TestBackLabel {
public static void main(String[] args) {
    back:{
    for(int i=0;i<10;i++){
       if(i==9){
        System.out.println("break");
        break back;
           }
        }
        System.out.println("test");
        
        }
    }
}     
輸出為break
如果i==9時印出break,並跳出定義的{}區塊
為什麼沒有至少印出9(i==0~8)次test呢?
另外
public class TestBackLabel {
public static void main(String[] args) {
        back1:
        for(int i = 0; i < 10; i++){
            back2:
            for(int j = 0; j < 10; j++) {
                if(j == 9) {
                    continue back2;
                }
            }
            System.out.println("test");
        }
    }
}       
輸出為
test
test
test
test
test
test
test
test
test
test
(改back1的話沒有輸出)
這我也看不懂了,請求版友釋義。感謝~
參考這篇的說明
所以
你現在改學 java 不學 R 了嗎?
還是雙修?
超強的
上課輪著上,所以都要學。XD
果然厲害厲害
https://rx1226.pixnet.net/blog/post/326421177
我看完說明還是沒懂lable
第一段
如果i==9時印出break,並跳出定義的{}區塊
為什麼不是輸出
test
test
test
test
test
test
test
test
test
break
for迴圈不是i=1~8的過程都不用輸出嗎?
仔細看...
System.out.println("test");
有在迴圈裡面?
所以說程式碼要用括起來是有道理的
因為程式碼的縮排可以看清楚迴圈的範圍,如下
println("test");是寫在迴圈外面而不是裡面
所以i=0~9都不會輸出 test
public class TestBackLabel {
    public static void main(String[] args) {
        back: {
        
            for(int i=0;i<10;i++){
                if(i==9) {
                    System.out.println("break");
                    break back;
                }
            }
            
            System.out.println("test");
        }
    }
}     
我懂了,感謝回覆!