do-while循環(英語:do while loop),也有稱do循環,是電腦程式語言中的一種控制流程語句。主要由一個代碼塊(作為迴圈)和一個表達式(作為迴圈條件)組成,表達式為布林(boolean)型。迴圈內的代碼執行一次後,程序會去判斷這個表達式的返回值,如果這個表達式的返回值為「true」(即滿足迴圈條件)時,則迴圈內的代碼會反覆執行,直到表達式的返回值為「false」(即不滿足迴圈條件)時終止。程序會在每次迴圈執行一次後,進行一次表達式的判斷。

do-while循環執行過程

一般情況下,do-while迴圈與while循環相似。兩者唯一的分別:do-while迴圈將先會執行一次迴圈內的代碼,再去判斷迴圈條件。所以無論迴圈條件是否滿足,do-while迴圈內的代碼至少會執行一次。因此,do-while迴圈屬於後測循環(post-test loop)。

一些語言有其他的表達方式。例如Pascal就提供 repeat until 循環,運作方法剛剛相反。 repeat 部分不斷重複,直到 until 條件滿足。換言之, until 條件是 false 的時候,迴圈會繼續執行。

程序示例

編輯
#include <stdio.h>
#include <stdlib.h>
int main()
{  
    int i = 5; /*宣告整數i*/
    do {
        i--;
    } while (i > 0);
    printf("%d",i);
    return 0;
}


using System;
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 5; /*宣告整數i*/
            do {
                i--;
            } while (i > 0);
            Console.WriteLine(i);
        }
    }
}


class main {
    public static void main (String args[]){
    int i = 5;
    do {
        i--; // 迴圈
    } while (i > 0); // 迴圈條件
    System.out.println(i);
    }
}