logo

For Loop în Java

Bucle în Java intră în uz atunci când trebuie să executăm în mod repetat un bloc de instrucțiuni. Java pentru buclă oferă o modalitate concisă de scriere a structurii buclei. Declarația for consumă inițializarea, condiția și creșterea/decrementarea într-o singură linie, oferind astfel o structură de buclă mai scurtă și ușor de depanat. Să înțelegem Java for bucla cu exemple.

For Loop în Java

Sintaxă:



for (initialization expr; test expr; update exp) {  // body of the loop  // statements we want to execute }>

Părți din Java For Loop

Java for bucla este împărțit în diferite părți, după cum este menționat mai jos:

  • Expresia de inițializare
  • Testarea expresiei
  • Actualizați expresia

1. Expresia de inițializare

În această expresie, trebuie să inițializam contorul buclei la o anumită valoare.

Exemplu:



int i=1;>

2. Testarea expresiei

În această expresie, trebuie să testăm condiția. Dacă condiția se evaluează la adevărat, atunci vom executa corpul buclei și vom merge la expresia de actualizare. În caz contrar, vom ieși din bucla for a.

Exemplu:

i <= 10>

3. Actualizați expresia :

După executarea corpului buclei, această expresie crește/descrește variabila buclă cu o anumită valoare.



Exemplu:

i++;>

Cum funcționează o buclă For?

  1. Controlul intră în bucla for. Inițializarea este făcută
  2. Fluxul sare la Condiție
  3. Starea este testată.
    • Dacă Condiția este adevărată, fluxul intră în Corp
    • Dacă Condiția este falsă, fluxul iese în afara buclei
  4. Declarațiile din interiorul corpului buclei sunt executate.
  5. Fluxul merge la Actualizare
  6. Actualizarea are loc și fluxul trece din nou la Pasul 3
  7. Bucla for s-a încheiat și fluxul a ieșit afară.

Diagramă pentru bucla for în Java

Diagramă pentru buclă în Java

Diagramă pentru buclă în Java

Exemple de buclă Java For

Exemplul 1: ( Acest program va tipări de la 1 la 10)

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);> >}> >}> }>

>

>

Ieșire

1 2 3 4 5 6 7 8 9 10>

Exemplul 2: Acest program va încerca să imprime Hello World de 5 ori.

Java


np.concatenate



// 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'>);> >}> }>

>

>

Ieșire

Hello World Hello World Hello World Hello World Hello World>

Complexitatea metodei:

Complexitatea timpului: O(1)
Spatiu auxiliar: O(1)

Funcționare uscată Exemplul 1

Programul se va executa în felul următor.

  1. Programul începe.
  2. i este inițializat cu valoarea 1.
  3. Se verifică starea. 1 <= 5 este adevărat.
    1. Hello World este tipărită pentru prima dată.
    2. Actualizarea este făcută. Acum i = 2.
  4. Se verifică starea. 2 <= 5 este adevărat.
    1. Hello World este tipărită a doua oară.
    2. Actualizarea este făcută. Acum i = 3.
  5. Se verifică starea. 3 <= 5 este adevărat.
    1. Hello World este tipărită a treia oară
    2. Actualizarea este făcută. Acum i = 4.
  6. Se verifică starea. 4 <= 5 este adevărat.
    1. Hello World este tipărită a patra oară
    2. Actualizarea este făcută. Acum i = 5.
  7. Se verifică starea. 5 <= 5 este adevărat.
    1. Hello World este tipărită a cincea oară
    2. Actualizarea este făcută. Acum i = 6.
  8. Se verifică starea. 6 <= 5 este fals.
  9. Fluxul iese în afara buclei. Programul se încheie.

Exemplul 3: (Programul tipărește suma lui x variind de la 1 la 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);> >}> }>

>

>

Ieșire

Sum: 210>

Imbricat For Loop în Java

Java Imbricat For Loop este un concept de utilizare a unei bucle for în interiorul altei bucle for (similar cu cel al folosirii imbricate if-else). Să înțelegem acest lucru cu un exemplu menționat mai jos:

Java




// 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();> >}> >}> }>

>

>

Ieșire

subliniază folosind css
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>

Pentru a afla mai multe despre bucle imbricate, consultați Bucle imbricate în Java .

Java pentru fiecare buclă

Bucla For îmbunătățită sau Java pentru fiecare buclă în Java este o altă versiune a buclei for introdusă în Java 5. Bucla for îmbunătățită oferă o modalitate mai simplă de a itera elementele unei colecții sau ale unei matrice. Este inflexibil și ar trebui utilizat numai atunci când este nevoie de a itera elementele într-o manieră secvențială fără a cunoaște indexul elementului procesat curent.

Notă: Obiectul/variabila este imuabilă atunci când este utilizată bucla for îmbunătățită, adică asigură că valorile din matrice nu pot fi modificate, deci se poate spune ca o buclă numai în citire în care nu puteți actualiza valorile spre deosebire de alte bucle unde valorile pot fi modificate.

Sintaxă:

for (T element:Collection obj/array) {  // loop body  // statement(s) }>

Să luăm un exemplu pentru a demonstra cum poate fi folosită bucla for îmbunătățită pentru a simplifica munca. Să presupunem că există o matrice de nume și dorim să tipărim toate numele din acea matrice. Să vedem diferența dintre aceste două exemple prin această implementare simplă:

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]); } */ } }>

>

>

Ieșire

Ron Harry Hermoine>

Complexitatea metodei de mai sus:

Complexitatea timpului: O(1)
Spatiu auxiliar: O(1)

Recomandare: Folosiți această formă de declarație în loc de forma generală ori de câte ori este posibil. (conform documentului JAVA)

lista de utilizatori mysql

Java infinit pentru buclă

Aceasta este o buclă infinită, deoarece condiția nu va reveni niciodată falsă. Pasul de inițializare este setarea valorii variabilei i la 1, deoarece incrementăm valoarea lui i, aceasta ar fi întotdeauna mai mare decât 1, astfel încât nu va returna niciodată fals. Acest lucru ar duce în cele din urmă la condiția de buclă infinită.

Exemplu:

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);> >}> >}> }>

>

>

Ieșire

Infinite Loop 1 Infinite Loop 2 ...>

Există o altă metodă de apelare a buclei infinite

Dacă folosești două punct și virgulă ;; în bucla for, va fi infinitiv pentru o buclă.

Sintaxă:

for(;;){   //code to be executed  }>

Exemplu:

Java




public> class> GFG {> >public> static> void> main(String[] args)> >{> >for> (;;) {> >System.out.println(>'infinitive loop'>);> >}> >}> }>

>

>

Ieșire

infinitive loop infinitive loop ....>

Întrebări frecvente pentru Java for Loop

1. Ce este o buclă for în Java?

Bucla For în Java este un tip de buclă folosit pentru execuția repetitivă a unui cod de bloc până când condiția este îndeplinită.

2. Care este sintaxa buclei for?

Sintaxa buclei for este menționată mai jos:

for (initialization expr; test expr; update exp) {  // body of the loop  // statements we want to execute }>

3. De ce se folosește o buclă for?

Bucla For este folosită atunci când trebuie să repetăm ​​aceleași declarații de un număr cunoscut de ori.

Trebuie să se refere: