[問題] Java label

看板Programming作者 (pcman)時間8年前 (2016/12/18 12:50), 8年前編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
想請問以下這個題目,程式跑的順序是如何? 尤其是continue outer這句,不大懂此語法改變了什麼程式邏輯? ----------------------------------------------------------------------- public class VerifyClass { public static void main(String[] args){ int i ; int j ; outer: for (i = 1; i < 3; i++) inner: for (j = 1; j <3; j++) { if ( j == 2) continue outer; System.out.println( "Value for i=" + i + "Value for j=" + j); } } } 印出來結果為: Value for i=1 Value for j=1 Value for i=2 Value for j=1 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.200.201.79 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1482036630.A.646.html ※ 編輯: uopsdod (1.200.201.79), 12/18/2016 12:50:51

12/18 13:19, , 1F
如果沒有 label, 這裡的 continue 相當
12/18 13:19, 1F

12/18 13:19, , 2F
於 continue inner, 只能對最內層作用
12/18 13:19, 2F

12/18 13:20, , 3F
你把程式裡的 j<3 改成 j<5 會比較有感
12/18 13:20, 3F

12/18 13:58, , 4F
有,改成5就容易理解多了。感謝!
12/18 13:58, 4F

12/18 13:59, , 5F
所以j的值才會一直是1
12/18 13:59, 5F

12/18 15:18, , 6F
嗯嗯^^
12/18 15:18, 6F
文章代碼(AID): #1OLXMMP6 (Programming)
文章代碼(AID): #1OLXMMP6 (Programming)