Verschil tussen While en Do While in Javascript

| | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Bij het programmeren zijn er vaak momenten waarop je een repetitieve taak hebt die je meerdere keren wilt doen. Loops worden gebruikt om deze repetitieve taken te automatiseren en u in staat te stellen efficiëntere code te maken.

terwijl en do ... while loops in Java, ze worden gebruikt om een codeblok uit te voeren zolang aan een specifieke voorwaarde wordt voldaan. Deze lussen lijken op if voorwaardelijke instructies, dit zijn blokken code die alleen worden uitgevoerd als een specifieke voorwaarde waar wordt geëvalueerd. In tegenstelling tot een if-instructie, worden echter while-lussen uitgevoerd totdat een voorwaarde niet langer waar is.

In deze zelfstudie worden de basisprincipes van besproken. while en do ... while Java-instructies en enkele voorbeelden zullen worden gepresenteerd om deze instructies in een Java-programma te demonstreren.

Java While

terwijl Loopt door een codeblok totdat een opgegeven voorwaarde waar is. De syntaxis van de while-lus is vergelijkbaar met die van een zo traditioneel -statement. Hier is de Java-syntaxis while loop:

terwijl de expressie tussen haakjes zal testen. Als de booleaanse uitdrukking waar wordt geëvalueerd, wordt de hoofdtekst van de lus uitgevoerd en wordt de uitdrukking opnieuw geëvalueerd. Het programma gaat door met dit proces totdat de uitdrukking onwaar is, waarna de while wordt geannuleerd en de rest van het programma wordt uitgevoerd.

Laten we een voorbeeld illustreren om te laten zien hoe de while-lus kan in Java worden gebruikt. Laten we zeggen dat we een timmerman zijn en dat we besloten hebben om een nieuwe tafel in onze winkel te gaan verkopen. We hebben alleen de mogelijkheid om vijf tafels aan te maken, waarna mensen die een tafel willen op een wachtlijst worden geplaatst.

We willen een kalender maken die ons vertelt hoeveel mensen een tafel van tevoren kunnen bestellen . om ze op de wachtlijst te zetten. We zouden dit kunnen doen met een while-lus zoals deze, die de hoofdtekst van de lus zal uitvoeren totdat het aantal doorgegeven commando`s onder de limiet is:

Onze code geeft als resultaat:

Spantijd breekt onze code. In de eerste regel declareren we een variabele genaamd limit die het maximale aantal bijhoudt aantal tabellen dat we kunnen maken. Vervolgens declareren we een variabele genaamd orders_made die het aantal geplaatste bestellingen opslaat

Ons programma voert vervolgens een while-lus uit, die wordt uitgevoerd terwijl orders_made is kleiner dan limiet. We gebruiken dus de orders_made ++ increment-operator om 1 op te tellen bij orders_made.

Nadat de increment-operator is uitgevoerd, berekent ons programma de resterende capaciteit van de tafels door "orders_made af te trekken van limiet. Druk vervolgens het bericht [capaciteit] u kunt meerdere tabellen sorteren. op de console.< br>

Ons "while"-statement werkt niet meer wanneer orders_made groter is dan limiet.

Java Do While

do ... while loop is een type then loop do .. while loop voert het codeblok uit in doe eenmaal voordat u controleert of een toestandsion als waar evalueert. Dan herhaalt het programma de lus zolang de voorwaarde waar is.

Het verschil tussen while en do ... while loop is dat while loops state evalueren voordat de code in het while blok uitvoert , terwijl do ... terwijl evalueer de status na. door de code uit te voeren in het do-blok

de syntaxis van de do ... while-lus is als volgt:

we gebruiken een voorbeeld om uit te leggen hoe het moet ... alles werkt in een lus.

Stel dat we een puzzel maken waarin een gebruiker wordt gevraagd een getal tussen één en tien te raden. We willen dat onze gebruiker eerst om een nummer wordt gevraagd voordat hij controleert of hij het juiste nummer heeft geraden. Als de gebruiker het verkeerde nummer invoert, moeten ze worden gepromoveerd om het opnieuw te proberen. We zouden dit kunnen doen met een do ... while-lus.

Hier is een voorbeeld van een programma dat een gebruiker vraagt een getal te raden en vervolgens evalueert of de gebruiker het juiste getal heeft geraden met een do . .. loop:

Als we onze code uitvoeren, wordt ons gevraagd het getal prime te raden, vóór de voorwaarde in ons do ... while cyclus wordt geëvalueerd. Dit gebeurt er als je een paar cijfers probeert te raden voordat je uiteindelijk de juiste raadt:

Pauze van onze code afgedaald. Eerst importeren we util.Scanner, dat wordt gebruikt om gebruikersinvoer te verzamelen. Vervolgens definiëren we een klasse genaamd GuessingGame waarin onze code bestaat

we definiëren dan twee variabelen: een naam getal die het te raden getal opslaat, en een andere naam guess waarin de gebruikers raden.

Vervolgens gaan we gebruik de scannermethode om gebruikersinvoer te starten. We drukken het bericht Voer een getal tussen 1 en 10 in: af op de console en gebruik vervolgens de input.nextInt () om de getal dat de gebruiker < br> heeft ingevoerd.

Nadat deze code is uitgevoerd, evalueert de do ... while-lus of het getal dat de gebruiker heeft geraden gelijk is aan het getal dat de gebruiker moet raden. verkeerd nummer, wordt de inhoud van de do-lus opnieuw uitgevoerd; als de u ser heeft het juiste getal geraden, de do ... while lus stopt met uitvoeren en het bericht Je hebt gelijk! staat op de console afgedrukt.

In voltooide lussen

Oneindige lussen zijn lussen die voor altijd zullen blijven werken. Als je een while-lus hebt waarvan de verklaring niet false retourneert, zal de lus doorgaan en kan je programma crashen. Daarom is het belangrijk om ervoor te zorgen dat de While Loop op een gegeven moment niet meer werkt

Hier is een voorbeeld van een oneindige lus in Java.

Deze lus loopt eindeloos. We kunnen ons programma echter stoppen met behulp van de pauze -instructie. Laten we zeggen dat we een programma maken dat het aantal beschikbare tafels bijhoudt. We hebben slechts vijf schilderijen op voorraad. Als er geen tafels op voorraad zijn, willen we dat onze while-lus stopt. We zouden een programma kunnen maken dat aan deze specificaties voldoet door de volgende code te gebruiken:

Als we onze code uitvoeren, wordt het volgende antwoord geretourneerd:

In ons voorbeeld blijft de while-lus werken zolang tables_in_stock waar is. Maar we specificeren wel een manier waarop tables_in_stock false kan worden

Dus in onze code gebruiken we een break-statement dat wordt uitgevoerd wanneer orders_made gelijk is aan 5.

Dit betekent dat wanneer er minder dan vijf bestellingen zijn geplaatst, een bericht zal worden afgedrukt met de tekst:. Er zijn [tables_left] arrays op voorraad Maar wanneer orders_made gelijk is aan 5, wordt er een bericht afgedrukt dat we zijn niet op voorraad. wordt afgedrukt op de console en het break-statement wordt uitgevoerd. Wanneer de break-instructie wordt uitgevoerd, wordt onze while-instructie verbroken.