我想問你們一個問題。你看,我知道一個for循環是什麼,但有人可以也許解釋瞭如何一個作品,只是爲了幫我拿我的頭周圍,一個例子是:爲了什麼?
for(int i = 0; i < 10; i++) {
System.out.println("hello");
}
現在很明顯,這將只是打印你好10次進入控制檯,但除此之外,我想知道for循環是如何工作的。
很抱歉,如果我搞糊塗的人問這個 - 肖恩
我想問你們一個問題。你看,我知道一個for循環是什麼,但有人可以也許解釋瞭如何一個作品,只是爲了幫我拿我的頭周圍,一個例子是:爲了什麼?
for(int i = 0; i < 10; i++) {
System.out.println("hello");
}
現在很明顯,這將只是打印你好10次進入控制檯,但除此之外,我想知道for循環是如何工作的。
很抱歉,如果我搞糊塗的人問這個 - 肖恩
for語句提供了一個緊湊的方式來遍歷值的範圍。程序員經常將其稱爲「for循環」,因爲它的重複循環方式直到滿足特定的條件。 for語句的一般形式可表示如下:
for (initialization; termination; increment) { statement(s) }
當使用這個版本的for語句,請記住:
- 初始化表達式初始化循環;它會在循環開始時執行一次。
- 當終止表達式計算結果爲false時,循環終止。
- 遞增表達式在循環的每次迭代之後被調用;這個表達式增加或減少一個值是完全可以接受的。
非常感謝很多人,我很喜歡簡單的java,當你知道它時哈哈:D – Shaun
的for
循環在你的例子是本或多或少當量:
int i = 0;
while (i < 10) {
System.out.println("hello");
i++;
}
唯一的區別是與你的for
循環,可變i
只存在於循環的範圍內。
使用相同的模式,每個for
循環都可以轉換爲while
循環。
for (init; test; continuation) {
// loop body
}
變爲:
init;
while (test) {
// loop body
continuation;
}
再次,唯一的區別是,在init
聲明的任何變量的作用域。
美麗的答案謝謝 – Shaun
這不是隻有***的區別。如果在for循環中使用'continue;',我會增加,而在「等效」時它不會。 –
@ArmenTsirunyan - 感謝您指出這一點。 「繼續」聲明違反了[結構化編程]的規則(http://en.wikipedia.org/wiki/Structured_programming)。 (所以'return','throws'和'break')。很難用'while'循環來建模。當我使用「唯一」的時候,我想到了OP的具體例子;我的選擇應該更加謹慎。 –
好了,這是它是如何設置:
for (a; b; c)
「A」的東西是在循環的開始時進行。它實際上可以被排除在外,如果有必要,就像這樣:
for (; b; c)
「B」必須是真實或虛假陳述(像我< 10,它要麼是或者不是)。一旦「b」不再成立,循環就會停止。
「C」是在循環結束時完成的。
實際上,'a','b'和'c'中的任何一個或全部都可以不在'for'循環中。 –
我想你是對的,但不會遺漏'b'使它無限? – Cg2916
如果你拋棄'b',那麼它確實是一個無限循環。唯一的出路是'break','return'或拋出異常。 –
#1資源:http://download.oracle.com/javase/tutorial/java/nutsandbolts/for.html – BalusC
我不確定你在問什麼。迭代是計算機編程的核心概念。例如,如何檢查一千萬件物品的清單? –
@JustinSatyr:看看Ted Hopp的答案,下面。 –