While 迴圈英文while loop)係結構化編程嘅一個基本嘅流程控制語法,指出口喺頂嘅廻圈。喺廿一世紀初多數程式語言都有。

While 迴圈嘅控制流程圖

呢種廻圈可以用兩條不變式描述:喺廻圈頂入面第一句之前,廻圈條件嘅布林值一定係 「真」;喺廻圈底出面第一句之前,廻圈條件嘅布林值一定係 「假」。

概論

編輯
睇埋:控制流程

一個 while 迴圈會有一個條件,同一柞掕住嘅碼。個程式會評估個條件,如果個條件係真,噉就會行柞掕住碼,行完一次之後再睇吓個條件係咪真,如果係就再行多次柞掕住碼,一路重複直至個條件唔係真為止。

以下呢段 MATLAB 碼用咗 while 迴圈計 10 嘅階乘(factorial)[1]

    n = 10; % 設 n 做 10。
    f = n; % 設 f 等同 n。
    while n > 1 % 衹要 n 大過 1,就一路做以下嘅嘢:
        n = n - 1; % 將 n 數值下降 1。
        f = f * n; % 將 f 變成 f 乘 n。
    end
    disp(['n! = ' num2str(f)]) % show "n! = " 同 f 最後個數值;呢段碼計出嘅係 10 嘅 factorial。

應用

編輯
睇埋:遊戲迴圈

While 迴圈一個應用例子係電子遊戲編程:一隻電子遊戲嘅一場對局可以想像成個遊戲程式一路做場對局嘅運算,直至某個 GAME OVER 條件(例如玩家角色生命值變咗 0)達到為止。

  1. while. MathWorks.