作者uopsdod (pcman)
看板Programming
標題[問題] Java label
時間Sun Dec 18 12:50:28 2016
想請問以下這個題目,程式跑的順序是如何?
尤其是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://webptt.com/m.aspx?n=bbs/Programming/M.1482036630.A.646.html
※ 編輯: uopsdod (1.200.201.79), 12/18/2016 12:50:51
1F:→ CindyLinz: 如果沒有 label, 這裡的 continue 相當 112.121.78.5 12/18 13:19
2F:→ CindyLinz: 於 continue inner, 只能對最內層作用 112.121.78.5 12/18 13:19
3F:→ CindyLinz: 你把程式裡的 j<3 改成 j<5 會比較有感 112.121.78.5 12/18 13:20
4F:→ uopsdod: 有,改成5就容易理解多了。感謝! 1.200.201.79 12/18 13:58
5F:→ uopsdod: 所以j的值才會一直是1 1.200.201.79 12/18 13:59
6F:→ CindyLinz: 嗯嗯^^ 112.121.78.5 12/18 15:18