In some languages, there is a "do" loop. This is how a do loop looks: Code: do //code goes here// loop The "do" starts the loop, and the "loop" tells it to go back to "do". This loop repeats infinitely. As soon as it begins, unless there is an instruction inside the loop that causes it to actually jump out of the loop, which is often considered bad form, or stop executing the program entirely, the code inside the loop will repeat forever. (Or until you forcibly close the program or restart the computer. But consider that your operating system can be abstractly understood as an eternal loop, because you don't want the operating system to decide it's finished now and stop doing its thing unless you're shutting down your machine. Depending on what language you're using, a game you write may have an eternal loop as its main body. It might check to see if there is player input, process it if there is, and may even have a bit that says "hey operating system, you can take care of any business you may have right now without causing disruption to anything time-sensitive, then pass the control back to me", and it will repeat these steps forever, or until the player exits the game.) There are two subtypes of do loops for when you don't actually want to loop forever. There is "do while" and "do until". Only "do while" is relevant here. You don't actually need both to have a complete programming language, and many languages omit "until" loops completely. We'll ignore them. The "do while" loop looks like this: Code: do while (some condition is met) //code goes here// loop This works exactly the same as a your regular "do" loop, except it has a built-in test to limit eternal looping. Before it decides to "do", it tests whether it should do the loop at all. If so, every time "loop" sends it back to "do", it will test again. If it decides at any point not to "do", it will skip to whatever comes after "loop". A "while" loop is still the same thing as a "do while" loop even if you haven't written out "do" or "loop". It may help to think of it that way, if only because it attaches the somewhat confusing term "while" to something a bit more concrete. Depending on your language, the beginning and end of a loop may be annotated in many different ways, but the idea of "do" and "loop" will always be there in some way. The computer needs to know where a loop starts, when it should jump back to the beginning, and how to decide if it should execute the code inside the loop at all or if it's done and can move on. Do operating system while (user has not selected "shut down"). [Operating system goes here.] Loop. Do game menu while (user has not chosen if they want to load a game, start a new game, or exit). [Game menu code goes here.] Loop.