1. 程式人生 > >關於學習while do-while for迴圈知識點的總結

關於學習while do-while for迴圈知識點的總結

在寫迴圈題目時,首先應該先回答四個問題:

(1)初始狀態由哪些變數描述。也就是其初值是什麼

(2)迴圈的控制條件是什麼(題目中給出的條件往往是反的)

(3)需要反覆做什麼

(4)如何過渡到下一次迴圈

如:求100以內的各位數之和。

 for(int i=1;i<=100;i++){

            sum+=i;

        }

但是for迴圈的優勢也很明顯:簡潔

從上面的對比可以發現,for比較簡潔,但再進一步深究的話,其實也沒有簡化,只是調整了語句的位置。For迴圈可以從另外一個角度去理解就更順了:可以把for語句括號中的內容更容易理解作為一個範圍:[1,100],且步長為1;

三個迴圈對比總結:三個迴圈實際上就是相通的,可以相互轉化,他們可以適應不同的應用場景。

While和do.....while適合迴圈次數不確定的情況,而for迴圈適合次數確定的。

總結迴圈的套路:

(1)有一個初始狀態。題目描述中往往已經提供了,比如上例中初始狀態為sum=0,i=1;

(2)有一個迴圈的控制條件。迴圈不應是無限迴圈(死迴圈),所以應該有繼續迴圈的條件。這個題目中往往也直接提供了,但是注意往往給的是相反條件。上述案例中的條件是i<=10;

(3)有一個反覆執行的操作。當然這裡所屬的操作可能是一條語句,更可能是一段程式碼。sum+=i;

(4)需要過渡到下一次。迴圈中反覆被執行的操作一般每次執行都並不完全相同,而是有變化的,這種變化往往是有規律的,需要程式設計師去挖掘。

所以,以後寫迴圈程式就回答以下四個問題,程式基本就出來了。

for迴圈與while迴圈比較?

迴圈順序不一樣。

Break與continue的區別?

Break結束全部的迴圈,下一迴圈不做。

Continue結束當前迴圈,繼續做下一迴圈。