Hoe schrijf je een for-lus in Java

Hoe schrijf je een for-lus in Java

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 je leert. Er zijn veel verschillende soorten lussen, maar voor loops zijn misschien wel een van de meest bruikbare loops.





De For-lus in Java

For-lussen blijven een codeblok uitvoeren totdat aan een voorwaarde is voldaan. Het is belangrijk op te merken dat een for-lus de voorwaarde aan het begin van de lus controleert, niet aan het einde. Dit betekent dat als aan de voorwaarde wordt voldaan, de lus niet wordt gestart.





For loop-syntaxis is vergelijkbaar in alle programmeertalen. Dus als je een for-lus in een andere programmeertaal hebt gemaakt, zal een Java for-lus je bekend voorkomen. Als u echter helemaal niet bekend bent met Java, is het raadzaam een ​​beginnershandleiding te lezen voordat u geavanceerde onderwerpen leert, zoals for-loops.





for([statement1]; [condition]; [statement2]){
//code to execute each loop
}

het sleutelwoord voor geeft een for-lus aan. De voorwaarde die bepaalt hoe lang de lus doorgaat, staat tussen de haakjes.

De eerste instructie wordt één keer uitgevoerd wanneer de for-lus wordt gestart; de voorwaarde bepaalt wanneer de lus moet stoppen.



De tweede instructie wordt uitgevoerd aan het einde van elke lus. Puntkomma's markeren het einde van verklaring1 en de conditie.

Gewoonlijk worden de instructies gebruikt om een ​​teller te maken en de voorwaarde stopt de lus zodra de teller een bepaald aantal bereikt. Ten slotte wordt de code die in elke lus wordt uitgevoerd, tussen de accolades geplaatst.





public class Main{
public static void main(String[] args) {
for(int i = 1; i <4; i++){
System.out.print(i);
}
}
}
//Output: 123

In het bovenstaande voorbeeld drukt de for-lus de waarde van . af l . het sleutelwoord voor initialiseert de lus. de variabele l is aanvankelijk ingesteld op 1. De voorwaarde controleert of l vier of meer is. Dit is niet het geval, dus onze lus wordt uitgevoerd. De luscode drukt de waarde van . af l , wat op dit moment nog steeds 1 is.

Zodra de luscode is voltooid, l wordt met één verhoogd en de lus begint opnieuw. Aan het einde van de derde lus, l wordt verhoogd tot vier. Wanneer de volgende lus begint, is aan onze voorwaarde voldaan, dus stopt de lus.





Gerelateerd: Core Java-concepten die u moet leren wanneer u aan de slag gaat

Genest voor lus

Als je eenmaal een for-lus onder de knie hebt, moet je proberen een geneste for-lus te maken. Dit is wanneer je een for-lus in een andere for-lus hebt. 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 op elke regel worden afgedrukt, en een andere lus om te bepalen hoeveel regels er 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 elke keer dat er een nieuwe regel wordt gemaakt, te lopen.

Wanneer u een geneste lus maakt, moet u voorzichtig zijn bij het kiezen van de naam van uw tellervariabelen. Hoewel programmeurs vaak een generieke l counter, wordt het gebruik van generieke tellers verwarrend wanneer meerdere lussen op elkaar inwerken.

for(int lineCounter = 1; lineCounter <4; lineCounter++){
for(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 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. Dus we willen dat die lus net zoveel sterren afdrukt als onze huidige regelteller.

Nadat onze sterlus is voltooid, maakt de lijnlus een nieuwe regel door af te drukken N , wat het commando is 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 maken. Dit zijn lussen die nooit stoppen. Hoewel er gevallen zijn waarin een oneindige lus nodig is, worden ze over het algemeen per ongeluk gemaakt wanneer de toestand van de lus niet zorgvuldig is gepland. In deze gevallen blijft het programma draaien totdat u het forceert om te sluiten.

Om een ​​oneindige lus te maken, kunt u de volgende syntaxis gebruiken:

for(;;){
//code that never stops looping
}

Gerelateerd: 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 tekenreeksen in een array wilt afdrukken, kunt u niet gewoon zeggen:

System.out.print([array]);

Met deze opdracht wordt informatie over de array afgedrukt, 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 = {'Hello', ' ', 'World', '!'};

for(int i = 0; i System.out.print(words[i]);
}

Onthoud dat arrayposities bij nul beginnen, niet bij één, dus we willen dat onze lus bij nul begint. Onze eerste lus wordt afgedrukt Hallo , zal de tweede lus een spatie afdrukken, enzovoort. Na de vierde lus wordt onze teller verhoogd tot vier, wat niet minder is dan de lengte van de array, die ook vier is. Dit stopt de lus.

Uitgang:

Hello World!

Voor elke lus

Hoewel u een for-lus kunt gebruiken om over een array te itereren, is het gemakkelijker om een ​​for-each-lus te gebruiken. Deze lussen zijn speciaal ontworpen voor arrays. A voor elke lus gaat door 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 een voorwaarde is niet gespecificeerd.

for([dataType] [arrayElement] : [array]){
//code to be executed
}

Ons vorige voorbeeld kan worden herschreven als een for-each-lus met behulp van deze syntaxis:

String[] words = {'Hello', ' ', 'World', '!'};

for(String word : words){
System.out.print(word);
}

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 lopen. In dit geval gebruikten we woord . Dit wordt gevolgd door een dubbele punt en de naam van de array die we willen doorlopen. Nu, binnen onze lus, hoeven we alleen de variabele te gebruiken woord om naar elk element in de array te verwijzen.

Wanneer gebruik je een For-lus?

For Loops zijn geweldige tools die u veel codering kunnen besparen. Ze zijn het beste type lus om te gebruiken als u precies weet hoe vaak u uw lus wilt laten lopen. Je kunt zelfs de complexiteit van for-lussen vergroten door ze te nesten.

Geneste for-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.

hoe een systeemherstel uit te voeren op Windows 10
Deel Deel Tweeten E-mail De 9 beste gratis code-editors voor het schrijven van uw eerste app

Een goede code-editor kan het leven van een programmeur veel gemakkelijker maken, maar welke is het beste voor jou?

Lees volgende
Gerelateerde onderwerpen
  • Programmeren
  • Java
  • Programmeren
Over de auteur Jennifer Seaton(21 artikelen gepubliceerd)

J. Seaton is een wetenschapsschrijver 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 online betrokkenheid van studenten te vergroten. Als ze niet aan het werk is, vind je haar terwijl ze leest, videospelletjes speelt of tuiniert.

Meer van Jennifer Seaton

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren