對於(for)和while迴圈(while loop)的區別

程式是用程式語言編寫的執行某項任務的指令集。它可以是邏輯運算,也可以是數學運算。通常,程式中的語句一個接一個地執行。有時需要反覆執行一組語句。控制結構用於實現這一任務。其中兩個是for和while迴圈。這些結構有助於執行一系列程式碼,直到給定的條件為真。for迴圈的語法由初始化、測試表達式和更新表示式組成。while迴圈的語法包含測試表達式。本文討論for和while迴圈之間的區別。for和whil...

對於(for)和while循環(while loop)的區別

程序是用編程語言編寫的執行某項任務的指令集。它可以是邏輯運算,也可以是數學運算。通常,程序中的語句一個接一個地執行。有時需要反覆執行一組語句。控制結構用於實現這一任務。其中兩個是for和while循環。這些結構有助於執行一系列代碼,直到給定的條件為真。for循環的語法由初始化、測試表達式和更新表達式組成。while循環的語法包含測試表達式。本文討論for和while循環之間的區別。for和while循環之間的關鍵區別在於,當迭代次數已知時可以使用for循環,而在迭代次數未知時可以使用while循環。

目錄

1. 概述和主要區別
2. 什麼是循環
3. 什麼是while循環
4. for和while循環之間的相似性
5. 並排比較-表格形式的for vs while循環
6. 摘要

什麼是for循環(for loop)?

for循環用於許多編程語言,如C、Java等,用於多次執行一組語句。for循環的語法如下。

for(初始化;測試表達式,更新){

//for循環中的語句

}

初始化表達式只執行一次。然後,計算測試表達式。測試表達式可以包含變量、值、常量和運算符。它是一個布爾表達式。如果計算的表達式為true,則執行for循環中的代碼。到達循環末尾後,執行update表達式。它可以是遞增或遞減。再次檢查測試表達式。如果計算的表達式為true,則執行for循環中的語句。在循環的末尾,執行update表達式。此過程將重複,直到測試表達式為false。當測試表達式為false時,for循環終止,控制權被傳遞到for循環之後的下一個語句。

對於(for)和while循環(while loop)的區別

圖01:用for循環計算5個數之和的程序

上面的程序是求前五個數的和,即1、2、3、4和5。在for循環中,i是1。它小於5。所以求和。最初,總和為0。它被加到i上,即1。總數被分配給變量和。現在總和是1。然後計算更新表達式。i遞增1。現在我2歲了。它小於5。所以,求和。前面的和值是1,它被加到i值上,i值是2。現在總數是3。對update表達式求值,i遞增1。現在是3。這個過程會重複。當i變為6時,表達式變為false,因為6不等於或小於5。因此,for循環終止。最後,所有五個數字的總和被打印到屏幕上。

什麼是while循環(while loop)?

只要給定條件為真,while循環就執行目標語句。while循環的語法如下。

while(測試表達式){

//while循環中的語句

}

while循環包含一個測試表達式。它是一個布爾表達式。如果計算的表達式為true,則執行while循環中的語句。在這些語句的末尾,將再次計算測試表達式。這個過程會重複,直到測試表達式變為false。當它變為false時,while循環終止,並將控制傳遞給while循環之後的語句。

對於(for)和while循環(while loop)的區別

圖02:使用while循環計算5個數字和的程序

根據上述程序,總和初始化為0,i初始化為1。在while循環中,計算i值。它小於5。所以,求和。和的初始值為0。它被加到i值1上。現在總和是1。然後i值遞增1。現在i值是2。它小於5。所以求和。當前的和是1加上i值是2。現在總數是3。再次增加i值。現在i值是3。這個過程會重複。當i值變為6時,表達式變為false,因為它不小於或等於5。因此,while循環終止。最後,總和值被打印到屏幕上。如果沒有增量,如i++,則i值保持不變,即1。它小於5。條件總是正確的。所以這將是一個無限循環。

對於(for)和while循環(while loop)的共同點

  • for和while循環都是程序設計中的重複控制結構。
  • 循環的執行取決於測試表達式。

對於(for)和while循環(while loop)的區別

for vs while循環
for循環是一種重複控制結構,它允許程序員高效地編寫需要執行特定次數的循環。 while循環是一種重複控制結構,只要給定的條件為真,就執行目標語句。
使用
當迭代次數已知時,可以使用for循環。 當迭代次數未知時,可以使用while循環。
初始化
在for循環中初始化一次。 在while循環中,如果初始化語句在循環內部,則每次循環迭代時都會進行初始化。

總結 - 對於(for) vs. while循環(while loop)

在編程中,有時需要多次重複一組語句。有重複控制結構來完成這項任務。其中兩個是for和while循環。for循環和while循環的區別在於,在迭代次數已知時使用for循環,而在迭代次數未知時使用while循環。

引用
  • 發表於 2020-10-24 02:28
  • 閱讀 ( 49 )
  • 分類:科技

你可能感興趣的文章

打破(break)和在java中繼續(continue in java)的區別

...在程式設計中,有時需要多次重複一個語句或一組語句。迴圈用於對同一組指令進行多次迭代。迴圈的一些例子是while迴圈、do while迴圈和for迴圈。在while迴圈中,首先計算測試表達式。如果為true,則執行while迴圈中的語句。最後...

  • 發佈於 2020-10-19 05:44
  • 閲讀 ( 63 )

for迴圈(for loop)和foreach迴圈(foreach loop)的區別

關鍵區別–for迴圈與foreach迴圈 for迴圈和foreach迴圈都是用於重複語句塊的控制結構。在程式設計中有重複控制結構來反覆執行一個語句塊。一種常見的控制結構是迴路控制。for迴圈是用於迭代的控制流結構,允許程式碼重複...

  • 發佈於 2020-10-19 07:26
  • 閲讀 ( 80 )

雖然(while)和執行while迴圈(do while loop)的區別

關鍵區別–while與do while迴圈 在程式設計中,可能會有需要反覆執行語句塊的情況。大多數程式語言支援不同的控制結構,如for迴圈、while迴圈和do while迴圈來重複程式碼。迴圈允許多次執行一組語句,直到給定條件變為false。...

  • 發佈於 2020-10-19 10:58
  • 閲讀 ( 68 )

遞迴(recursion)和迭代(iteration)的區別

...叫的次數發現的。一個函式呼叫的時間複雜度為O(1)。對於n個遞迴呼叫,時間複雜度為O(n)。 什麼是迭代(iteration)? 迭代是一個指令塊,它一次又一次地重複,直到給定的條件為真。迭代可以用“for迴圈”、“do while迴圈”...

  • 發佈於 2020-10-19 23:58
  • 閲讀 ( 43 )

一會兒(awhile)和雖然(while)的區別

...容詞是明智的。 我們可能有一段時間不見面了。 這句話對於你們什麼時候再見面沒有明確的含義,除非提到是長時間還是短時間。While是一個也用於比較的詞。換句話說,while用作表示對比的連詞。看看下面的例子。 狗是忠誠...

  • 發佈於 2020-10-21 06:42
  • 閲讀 ( 42 )

克雷布斯(krebs)和卡爾文迴圈(calvin cycle)的區別

Krebs迴圈和Calvin迴圈的關鍵區別在於Krebs迴圈是產生ATP的有氧呼吸過程的一部分,而Calvin迴圈是光合作用的一部分,透過消耗ATP產生食物。 生物化學途徑是維持地球生命的極其重要的過程。Krebs和Calvin迴圈是發生在細胞器內部...

  • 發佈於 2020-10-23 14:21
  • 閲讀 ( 109 )

在期間(during)和雖然(while)的區別

期間vs while 由於during和while是許多英語單詞中的兩個,對於那些不太理解它們的人來說,這篇文章將介紹during和while之間的區別。對於母語不是英語的人來說,這個不理解在什麼時候使用,在哪裡使用while的問題造成了很多尷...

  • 發佈於 2020-10-26 13:02
  • 閲讀 ( 48 )

powershell foreach、while和其他迴圈的工作原理

... 對於一個新手程式設計師來說,使用這些並不是很明顯。做典型的日常指令碼,你可能不會經常碰到他們。它們特別有用的地方是**一個臨時計時器來測試流程的成功與否...

  • 發佈於 2021-03-11 23:17
  • 閲讀 ( 52 )

while迴圈在計算機程式設計中是如何工作的

...並提示他們輸入一個正數,直到符合要求為止。其他迴圈對於這種型別的操作根本沒有意義。 ...

  • 發佈於 2021-03-14 11:34
  • 閲讀 ( 45 )

陣列和列表在python中的工作方式

... 每個程式語言都將實現某種迴圈,這是在列表元素上迭代(迴圈)的完美方法。最常見的迴圈是while和for。Python透過提供for-in迴圈,使事情更加容易: ...

  • 發佈於 2021-03-15 17:19
  • 閲讀 ( 52 )