2016-03-16 61 views
1

我與此代碼工作在Java中迭代器的值時,循環停止執行

int i = 2; 
for (int j=0; j < 12; j++) { 
    i += j; 
} 

當循環停止執行有一個測驗中J 的價值。 之後的值循環停止執行顯然是12.但是,什麼時候

我試圖通過循環語句後加入

System.out.println(j); 

克服我的困惑,但它被證明是一個錯誤(找不到Ĵ的符號)。

有人請解釋嗎?謝謝

+0

'j'在循環之外是未知的,因爲它在'for'初始化中定義。將你的'System.out.println'放入循環中,並查看它的最後一個值。 – Berger

+0

當循環停止執行時,這是因爲'j = 12' - 所以12是'when'值 –

回答

2

如果在循環內聲明jj在循環結束後沒有值,因爲它超出了它的範圍。

如果您在循環之前聲明j,你就可以循環後打印它的價值,這將是12

int i = 2; 
int j = 0; 
for (j=0; j < 12; j++) { 
    i += j; 
} 
System.out.println(j); 
+0

是的,多麼愚蠢的錯誤大聲笑。非常感謝:D – mawgumelar

1

你不能打印出j變量,因爲它在inlcuded只有你的循環週期。

要正確打印出來,必須在循環外定義j變量。

int i=2; 
int j; 
for (j=0; j<12; j++) { 
    i+=j; 
} 
System.out.println(j); 
+0

啊,我明白了!謝謝。現在我明白了:D – mawgumelar