First, the statements are executed, then the condition is tested; if it is true , then the entire loop is executed again. The loop exits when the test is performed and gives a false result. This kind of loop is most often used when the test doesn't make any sense until the statements have been performed at least once.