Lussen in Java worden gebruikt wanneer we herhaaldelijk een blok instructies moeten uitvoeren. Java voor lus biedt een beknopte manier om de lusstructuur te schrijven. De for-instructie gebruikt de initialisatie, voorwaarde en verhoging/verlaging in één regel, waardoor een kortere, eenvoudig te debuggen structuur van de lus ontstaat. Laten we Java for loop begrijpen met voorbeelden.
Syntaxis:
for (initialization expr; test expr; update exp) { // body of the loop // statements we want to execute }> Delen van Java For Loop
Java for loop is verdeeld in verschillende delen, zoals hieronder vermeld:
- Initialisatie-expressie
- Expressie testen
- Expressie bijwerken
1. Initialisatie-expressie
In deze expressie moeten we de lusteller op een bepaalde waarde initialiseren.
Voorbeeld:
int i=1;>
2. Expressie testen
In deze uitdrukking moeten we de voorwaarde testen. Als de voorwaarde waar is, voeren we de hoofdtekst van de lus uit en gaan we naar de update-expressie. Anders verlaten we de for een lus.
Voorbeeld:
i <= 10>
3. Expressie bijwerken :
Na het uitvoeren van de lusbody verhoogt/verlaagt deze expressie de lusvariabele met een bepaalde waarde.
Voorbeeld:
i++;>
Hoe werkt een For-lus?
- De controle valt in de for-lus. Initialisatie is voltooid
- De stroom springt naar Conditie
- Conditie is getest.
- Als de voorwaarde waar blijkt, gaat de stroom het lichaam binnen
- Als de voorwaarde false oplevert, gaat de stroom buiten de lus
- De instructies in de hoofdtekst van de lus worden uitgevoerd.
- De stroom gaat naar de Update
- Er vindt een update plaats en de stroom gaat weer naar stap 3
- De for-lus is beëindigd en de stroom is naar buiten gegaan.
Stroomschema voor for-lus in Java

Stroomschema voor lus in Java
Voorbeelden van Java For-lus
Voorbeeld 1: ( Dit programma drukt 1 tot 10 af)
Java
/*package whatever //do not write package name here */> // Java program to write a code in for loop from 1 to 10> class> GFG {> >public> static> void> main(String[] args)> >{> >for> (>int> i =>1>; i <=>10>; i++) {> >System.out.println(i);> >}> >}> }> |
>
>Uitvoer
1 2 3 4 5 6 7 8 9 10>
Voorbeeld 2: Dit programma zal Hello World 5 keer proberen af te drukken.
Java
het is
// Java program to illustrate for loop> class> forLoopDemo {> >public> static> void> main(String args[])> >{> >// Writing a for loop> >// to print Hello World 5 times> >for> (>int> i =>1>; i <=>5>; i++)> >System.out.println(>'Hello World'>);> >}> }> |
>
>Uitvoer
Hello World Hello World Hello World Hello World Hello World>
De complexiteit van de methode:
Tijdcomplexiteit: O(1)
Hulpruimte: O(1)
Droogloopvoorbeeld 1
Het programma wordt op de volgende manier uitgevoerd.
- Programma start.
- i wordt geïnitialiseerd met waarde 1.
- Conditie is gecontroleerd. 1 <= 5 levert waar op.
- Hello World wordt voor de eerste keer afgedrukt.
- Het bijwerken is voltooid. Nu ik = 2.
- Conditie is gecontroleerd. 2 <= 5 levert waar op.
- Hello World wordt voor de tweede keer gedrukt.
- Het bijwerken is voltooid. Nu ik = 3.
- Conditie is gecontroleerd. 3 <= 5 levert waar op.
- Hello World wordt voor de derde keer gedrukt
- Het bijwerken is voltooid. Nu ik = 4.
- Conditie is gecontroleerd. 4 <= 5 levert waar op.
- Hello World wordt voor de vierde keer gedrukt
- Het bijwerken is voltooid. Nu ik = 5.
- Conditie is gecontroleerd. 5 <= 5 levert waar op.
- Hello World wordt voor de vijfde keer gedrukt
- Het bijwerken is voltooid. Nu ik = 6.
- Conditie is gecontroleerd. 6 <= 5 levert onwaar op.
- De stroom gaat buiten de lus. Programma wordt beëindigd.
Voorbeeld 3: (Het programma drukt de som van x af, variërend van 1 tot 20)
Java
// Java program to illustrate for loop.> class> forLoopDemo {> >public> static> void> main(String args[])> >{> >int> sum =>0>;> >// for loop begins> >// and runs till x <= 20> >for> (>int> x =>1>; x <=>20>; x++) {> >sum = sum + x;> >}> >System.out.println(>'Sum: '> + sum);> >}> }> |
>
>Uitvoer
Sum: 210>
Geneste For-lus in Java
Java Nested For Loop is een concept van het gebruik van een for-lus binnen een andere for-lus (vergelijkbaar met het gebruik van geneste if-else). Laten we dit begrijpen met een voorbeeld hieronder:
Java
k clusteralgoritme
// Java Program to implement> // Nested for loop> import> java.io.*;> // Driver Class> class> GFG {> >// main function> >public> static> void> main(String[] args)> >{> >// Printing a 1 to 5 (5 times)> >// first loop> >for> (>int> i =>1>; i <=>5>; i++) {> >// second loop> >for> (>int> j =>1>; j <=>5>; j++) {> >System.out.print(j +>' '>);> >}> >System.out.println();> >}> >}> }> |
>
>Uitvoer
1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5>
Raadpleeg voor meer informatie over geneste lussen Geneste lussen in Java .
Java voor elke lus
Verbeterd voor lus of Java For-Each-lus in Java is een andere versie van for loop geïntroduceerd in Java 5. Verbeterde for loop biedt een eenvoudigere manier om de elementen van een verzameling of array te doorlopen. Het is inflexibel en mag alleen worden gebruikt als het nodig is om de elementen op een sequentiële manier te doorlopen zonder de index van het momenteel verwerkte element te kennen.
Opmerking: Het object/variabele is onveranderlijk wanneer verbeterde for-lus wordt gebruikt, dat wil zeggen dat het ervoor zorgt dat de waarden in de array niet kunnen worden gewijzigd, dus het kan worden gezien als een alleen-lezen-lus waarbij u de waarden niet kunt bijwerken, in tegenstelling tot andere lussen waar waarden kunnen worden gewijzigd.
Syntaxis:
for (T element:Collection obj/array) { // loop body // statement(s) }> Laten we een voorbeeld nemen om aan te tonen hoe verbeterde for-lus kan worden gebruikt om het werk te vereenvoudigen. Stel dat er een array met namen is en we willen alle namen in die array afdrukken. Laten we het verschil tussen deze twee voorbeelden bekijken aan de hand van deze eenvoudige implementatie:
Java
// Java program to illustrate enhanced for loop> public> class> enhancedforloop {> >// Main Function> >public> static> void> main(String args[])> >{> >// String array> >String array[] = {>'Ron'>,>'Harry'>,>'Hermoine'> };> >// enhanced for loop> >for> (String x : array) {> >System.out.println(x);> >}> >/* for loop for same function> >for (int i = 0; i { System.out.println(array[i]); } */ } }> |
>
>Uitvoer
Ron Harry Hermoine>
Complexiteit van de bovenstaande methode:
Tijdcomplexiteit: O(1)
Hulpruimte: O(1)
Aanbeveling: Gebruik waar mogelijk deze verklaringsvorm in plaats van de algemene vorm. (volgens JAVA-doc.)
mysql lijst gebruikers
Java Infinite voor lus
Dit is een oneindige lus, omdat de voorwaarde nooit onwaar zou terugkeren. De initialisatiestap is het instellen van de waarde van variabele i op 1. Aangezien we de waarde van i verhogen, zou deze altijd groter zijn dan 1, zodat deze nooit false retourneert. Dit zou uiteindelijk leiden tot de oneindige lusconditie.
Voorbeeld:
Java
// Java infinite loop> class> GFG {> >public> static> void> main(String args[])> >{> >for> (>int> i =>1>; i>=>1>; i++) {> >System.out.println(>'Infinite Loop '> + i);> >}> >}> }> |
>
>
Uitvoer
Infinite Loop 1 Infinite Loop 2 ...>
Er is een andere methode om de oneindige lus aan te roepen
Als je er twee gebruikt puntkomma's ;; in de for-lus zal het infinitief zijn voor een lus.
Syntaxis:
for(;;){ //code to be executed }> Voorbeeld:
Java
public> class> GFG {> >public> static> void> main(String[] args)> >{> >for> (;;) {> >System.out.println(>'infinitive loop'>);> >}> >}> }> |
>
>
Uitvoer
infinitive loop infinitive loop ....>
Veelgestelde vragen over Java for Loop
1. Wat is een for-lus in Java?
For-lus in Java is een type lus dat wordt gebruikt voor de herhaalde uitvoering van een blokcode totdat aan de voorwaarde is voldaan.
2. Wat is de syntaxis van for-lus?
De syntaxis van for-lus wordt hieronder vermeld:
for (initialization expr; test expr; update exp) { // body of the loop // statements we want to execute }> 3. Waarom wordt een for-lus gebruikt?
For-lus wordt gebruikt wanneer we dezelfde instructies een bekend aantal keren moeten herhalen.
Moet verwijzen:
- Lussen in Java
- For-lus in Java | Belangrijke punten
- Inzicht in lussen in Java
- Java while-lus met voorbeelden
- Java do-while-lus met voorbeelden
- Voor elke lus in Java
- Verschil tussen for en while-lus in C, C++, Java
- Verschil tussen for en do-while-lus in C, C++, Java