In de programmeerwereld worden while-loops gebruikt om een bepaald stukje code herhaaldelijk uit te voeren zolang aan een voorwaarde wordt voldaan. Samengenomen maakt dit het mogelijk om dynamische herhalingen te creëren, waarbij je vooraf niet (altijd) weet hoe vaak de loop zal draaien. De herhaling stopt zodra de conditie onwaar (false) wordt.
Zonder while-loops zou je telkens dezelfde code handmatig moeten herhalen, wat onpraktisch en foutgevoelig is. Met een while-loop kan een programma zichzelf herhalen en aanpassen op basis van variabele waarden en voorwaarden.
Casus
Stel je bedenkt een geheim getal, bijvoorbeeld 7. Iemand moet raden wat het getal is. Zolang het geraden getal niet klopt, vraag je opnieuw om een gok. Zodra de persoon het juiste getal raadt, stop je.
Hoe zit een while-loop in elkaar?
De while-loop volgt een specifieke opbouw die begint met een while-clausule waarin een conditie wordt gespecificeerd binnen de haakjes (()). Zolang deze conditie waar (true) is, wordt de code binnen de accolades ({}) herhaaldelijk uitgevoerd, dit deel wordt ook wel de loop of lus genoemd. Zodra de conditie onwaar (false) wordt, stopt de herhaling en gaat het programma verder.
Een conditie is een voorwaarde waaraan iets, zoals een variabele, kan voldoen.
In het onderstaande voorbeeld wordt de code binnen de {} steeds uitgevoerd zolang de conditie waar (true) is. Zodra de conditie onwaar (false) wordt, stopt de while-loop en gaat het programma verder met de rest van de code.
Codevoorbeeld
while (conditie){ // code om uit te voeren als de conditie waar is.}
Variant: Do-While
In tegenstelling tot een while-loop, controleert de do-while-loop de conditie pas na het uitvoeren van de code. Dit betekent dat de code binnen de accolades ({}) altijd minstens één keer wordt uitgevoerd, ongeacht of de conditie waar (true) of onwaar (false) is. Daarna wordt de conditie geëvalueerd: als de conditie waar is, wordt de loop opnieuw uitgevoerd. Als de conditie onwaar wordt, stopt de loop en gaat het programma verder met de rest van de code.
Codevoorbeeld
do { // code om uit te voeren.} while (conditie);
Voor meer informatie over het afbreken of doorlopen van lussen, kun je meer lezen over het gebruik van break en continue.
Hoe gebruik je een while loop?
Het gebruik van een while-loop komt voort uit de behoefte om een actie herhaaldelijk uit te voeren, totdat een specifieke voorwaarde onwaar (false) is. Dit maakt een programma flexibel en geschikt voor iteratieve taken, zoals tellen, verwerken van gegevens, of wachten op invoer van een gebruiker. De herhaling stopt wanneer de conditie onwaar (false) wordt, waarna het programma verder gaat met de volgende stappen.
Casus
Stel je schrijft een programma waarin een gebruiker hun wachtwoord in moet vullen. De While-loop blijft draaien tot de persoon het juiste wachtwoord heeft ingevuld. Het aantal pogingen is vooraf niet bekend.
flowchart TD
A[Start] --> B[Stel correctPassword in \n op 'Heelmoeilijkwachtwoord123!']
B --> C[Stel input in op een lege string]
C --> D[Voer het wachtwoord in en sla het op in input]
D --> E{Is input gelijk \n aan correctPassword?}
E -- Nee --> D
E -- Ja --> F[Toon 'Toegang verleend!']
F --> G[Stop]