Loops zijn zeer krachtige programmeertools die een reeks instructies voltooien totdat aan een voorwaarde is voldaan. Ze zijn erg handig en zouden een van de eerste programmeerconcepten moeten zijn die u leert. Er zijn veel verschillende soorten lussen, maar voor loops zijn misschien wel een van de meest bruikbare loops.
De For Loop in Java
For-lussen zullen een codeblok blijven uitvoeren totdat aan een voorwaarde is voldaan. Het is belangrijk op te merken dat een for-lus de conditie aan het begin van de lus controleert, niet aan het einde. Dit betekent dat als aan de voorwaarde is voldaan, de lus niet zal starten.
De For-loop-syntaxis is vergelijkbaar in alle programmeertalen. Dus als je een for-lus hebt gemaakt in een andere programmeertaal, zal een Java for-lus er bekend uitzien. Als u echter helemaal niet bekend bent met Java, is het raadzaam een beginnershandleiding te lezen voordat u geavanceerde onderwerpen leert, zoals for loops.
voor ([statement1]; [staat]; [statement2]) {
// code om elke lus uit te voeren
}
Het sleutelwoord voor geeft een for-lus aan. De voorwaarde die bepaalt hoe lang de lus doorgaat, bevindt zich tussen de haakjes.
De eerste instructie wordt eenmaal uitgevoerd wanneer de for-lus wordt gestart; de voorwaarde bepaalt wanneer de lus moet stoppen.
De tweede instructie wordt aan het einde van elke lus uitgevoerd. Puntkomma's geven het einde aan van verklaring1 en de conditie.
Meestal worden de instructies gebruikt om een teller te maken en stopt de conditie de lus zodra de teller een bepaald aantal bereikt. Ten slotte wordt de code die in elke lus wordt uitgevoerd, tussen de accolades geplaatst.
openbare klas Main {
public static void main (String [] args) {
voor (int i = 1; i <4; i ++) {
System.out.print (i);
}
}
}
// Uitgang: 123
In het bovenstaande voorbeeld drukt de for-lus de waarde van ik. Het sleutelwoord voor initialiseert de lus. De variabele ik is aanvankelijk ingesteld op 1. De conditie controleert of ik is vier of meer. Dit is niet het geval, dus onze lus wordt uitgevoerd. De luscode drukt de waarde af van ik, dat is op dit moment nog steeds 1.
Zodra de luscode is voltooid, ik wordt met één opgehoogd en de lus begint opnieuw. Aan het einde van de derde lus, ik wordt verhoogd tot vier. Wanneer de volgende lus begint, is aan onze voorwaarde voldaan, dus de lus stopt.
Verwant: Kernconcepten van Java die u moet leren wanneer u aan de slag gaat
Of u nu een GUI schrijft, serversoftware ontwikkelt of een mobiele applicatie die Android gebruikt, het leren van Java zal u goed van pas komen. Hier zijn enkele Java-kernconcepten om u op weg te helpen.
Genest voor lus
Als je eenmaal een for-lus onder de knie hebt, zou je moeten proberen een geneste for-lus te maken. Dit is wanneer je een for-lus hebt in een andere for-lus. Dit is een geavanceerde techniek omdat het moeilijk kan zijn om te begrijpen hoe de twee lussen op elkaar inwerken. Een goede manier om te visualiseren hoe geneste for-lussen werken, is door het volgende patroon te maken met een geneste for-lus.
*
**
***
Om dit te maken, hebben we één lus nodig om te bepalen hoeveel sterren er op elke regel worden afgedrukt, en een andere lus om te bepalen hoeveel regels er moeten worden gemaakt. Wanneer geneste for-lussen nieuw voor u zijn, kan het moeilijk zijn om te bepalen welke lus de binnenste lus is. In dit geval is de lus die de sterren afdrukt de binnenste lus. We hebben die lus nodig om te worden uitgevoerd elke keer dat er een nieuwe regel wordt gemaakt.
Wees voorzichtig bij het maken van een geneste lus bij het kiezen van de naam van uw tellervariabelen. Hoewel programmeurs vaak een generiek ik counter, wordt het gebruik van generieke tellers verwarrend wanneer meerdere lussen samenwerken.
voor (int lineCounter = 1; lineCounter <4; lineCounter ++) {
voor (int starCounter = 1; starCounter <= lineCounter; starCounter ++) {
System.out.print ("*");
}
System.out.print ("
");
}
Laten we dit voorbeeld eens doornemen om beter te begrijpen hoe het werkt.
Onze eerste lus telt hoeveel lijnen we maken. Nadat de lus drie keer is uitgevoerd, stopt deze.
De volgende lus is een beetje ingewikkelder. Deze lus bepaalt hoeveel sterren er op elke regel worden afgedrukt. In ons patroon willen we hetzelfde aantal sterren als het regelnummer. De eerste regel heeft één ster, de tweede twee en de derde drie. We willen dus dat die lus evenveel sterren afdrukt als onze huidige lijnteller.
Nadat onze sterlus is voltooid, maakt de lijnlus een nieuwe lijn door af te drukken \ n, dat is het commando voor een nieuwe regel.
Oneindige lussen
Een van de gevaren van het coderen van elk type lus is dat u per ongeluk een oneindige lus kunt creëren. Dit zijn loops die nooit stoppen. Hoewel er gevallen zijn waarin een oneindige lus nodig is, worden deze over het algemeen per ongeluk gecreëerd wanneer de toestand van de lus niet zorgvuldig is gepland. In deze gevallen blijft het programma lopen totdat u het geforceerd afsluit.
Om een oneindige lus te maken, kunt u de volgende syntaxis gebruiken:
voor(;;){
// code die nooit stopt met herhalen
}
Verwant: Websites en apps die kunnen helpen bij het leren van Java-programmering
Een For-lus gebruiken met een array
Een veelgebruikte manier om een for-lus te gebruiken, is door een array te herhalen. Als u bijvoorbeeld alle strings in een array wilt afdrukken, kunt u niet zomaar zeggen
System.out.print ([array]);
Deze opdracht zou informatie over de array afdrukken, niet de inhoud van de array. Om de inhoud van de array af te drukken, moet u elk afzonderlijk element in de array afdrukken. Dit zou tijdrovend zijn om te coderen, maar je zou een for-lus kunnen maken om door elk element te gaan.
String [] words = {"Hallo", "", "Wereld", "!"};
voor (int i = 0; i System.out.print (woorden [i]);
}
Onthoud dat matrixposities bij nul beginnen, niet bij één, dus we willen dat onze lus bij nul begint. Onze eerste lus wordt afgedrukt Hallo, de tweede lus zal een spatie afdrukken, enzovoort. Na de vierde lus wordt onze teller verhoogd naar vier, wat niet minder is dan de lengte van de array, die ook vier is. Dit zal de lus stoppen.
Uitgang:
Hallo Wereld!
Voor elke lus
Hoewel u een for-lus kunt gebruiken om over een array te herhalen, is het gemakkelijker om een for-each-lus te gebruiken. Deze loops zijn speciaal ontworpen voor arrays. Een voor elke lus doorloopt elk element in een array en voert code uit. For-each-lussen hebben een iets andere syntaxis. Het sleutelwoord voor wordt nog steeds gebruikt, maar er is geen voorwaarde gespecificeerd.
voor ([dataType] [arrayElement]: [array]) {
// code die moet worden uitgevoerd
}
Ons vorige voorbeeld kan worden herschreven als een for-each-lus met behulp van deze syntaxis:
String [] words = {"Hallo", "", "Wereld", "!"};
for (String word: words) {
System.out.print (woord);
}
De lus wordt gestart met het trefwoord voor. Vervolgens specificeren we dat de gegevens in onze array strings zijn. Vervolgens kiezen we een variabelenaam om naar de elementen in de array te verwijzen terwijl we door de lus herhalen. In dit geval hebben we woord. Dit wordt gevolgd door een dubbele punt en de naam van de array die we willen doorlopen. Nu, in onze lus, hoeven we alleen de variabele te gebruiken woord om naar elk element in de array te verwijzen.
Wanneer gebruik je een For Loop
For Loops zijn geweldige tools die u veel codering kunnen besparen. Ze zijn het beste type lus dat u kunt gebruiken als u precies weet hoe vaak u wilt dat uw lus wordt uitgevoerd. U kunt de complexiteit van for-loops zelfs vergroten door ze te nesten.
Geneste lussen zijn vooral handig bij het werken met multidimensionale arrays. For-loops zijn gemakkelijk te leren en een belangrijke vaardigheid voor beginners. Deze techniek zal u zeker behoeden voor het coderen van onnodige repetitieve code.
Een goede code-editor kan het leven van een programmeur veel gemakkelijker maken, maar welke is het beste voor u?
- Programmeren
- Java
- Programmeren
J. Seaton is een wetenschapsjournalist die gespecialiseerd is in het opsplitsen van complexe onderwerpen. Ze is gepromoveerd aan de Universiteit van Saskatchewan; haar onderzoek was gericht op het gebruik van game-based learning om de betrokkenheid van studenten online te vergroten. Als ze niet aan het werk is, zul je haar zien lezen, videogames spelen of tuinieren.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.