java語言中do while循環至少執行1次的理解

java語言中基本循環結構分爲三類:

    1.for

    2.while

    3.do while

一般情況下,同樣的 "初始條件/判斷語句/循環體語句/步進語句" 時,執行結果相同,如下:

1. for循環:

 2. while循環:

3. do while循環:

以上三種運行結果相同,如下:

但是當判斷語句一次都不滿足時,情況又如何呢?

1. for循環:

2. while循環

 for和while循環的結果相同,不輸出任何值:

3. do while循環

 do while循環結果:

總結:

    1. 以上三種循環結構,當判斷語句值爲true的次數大於等於1次時,程序執行次數及結果完全相同;

    2. 當判斷語句值爲true的次數爲0時,for和while循環的執行次數爲0,即不執行. 但是do while循環會在未經判斷語句判斷之前,先執行唯一的1次;

關於do while的理解:

    這時候會有人問:爲什麼判斷語句至少1次爲ture時,相同情況下三種循環結構執行次數相同. 但一次都不爲true時,do while卻可以執行唯一的1次呢?

    實際原理是:for和while循環,從第1次循環開始,即判斷是否可以執行循環體.

    而do while循環是不對第1次循環進行判斷的,直接執行第1次後,開始判斷是否可以執行"步進"後的第2次,並不是執行1次後,再開始判斷第1次是否合理!

    若三種循環均執行3次,那麼:for和while判斷3次執行3次, do while是執行1次,判斷第2次和第3次並再執行第2/3次;

    若三種循環一次都不滿足判斷語句:for和while判斷第1次時不滿足,便不執行. 但do while則是不判斷,執行一次循環體,再判斷步進之後的值是否滿足第2次執行條件,不滿足則不執行第2次,但第1次已無腦執行;

    很多書籍及視頻教程中均講解爲:因爲有do 所以至少執行1次,實則不清不楚,容易混淆,望大家周知!

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章