Dla pętli w Javie

Dla pętli w Javie

Pętle w Javie przydaje się, gdy musimy wielokrotnie wykonać blok instrukcji. Pętla Java for zapewnia zwięzły sposób pisania struktury pętli. Instrukcja for zajmuje inicjalizację, warunek i przyrost/zmniejszenie w jednym wierszu, zapewniając w ten sposób krótszą, łatwą do debugowania strukturę pętli. Pozwól nam zrozumieć pętlę Java for na przykładach.

Dla pętli w Javie

Składnia:

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

Części Java For Loop

Pętla Java for jest podzielona na różne części, jak wspomniano poniżej:

  • Wyrażenie inicjujące
  • Wyrażenie testowe
  • Aktualizuj wyrażenie

1. Wyrażenie inicjujące

W tym wyrażeniu musimy zainicjować licznik pętli jakąś wartością.

Przykład:

int i=1; 

2. Wyrażenie testowe

W tym wyrażeniu musimy przetestować warunek. Jeżeli warunek ma wówczas wartość true, wykonamy treść pętli i przejdziemy do wyrażenia aktualizującego. W przeciwnym razie wyjdziemy z pętli for.

Przykład:

i  <= 10 

3. Aktualizuj wyrażenie :

Po wykonaniu treści pętli wyrażenie to zwiększa/zmniejsza zmienną pętli o pewną wartość.

Przykład:

i++; 

Jak działa pętla For?

  1. Sterowanie wpada w pętlę for. Inicjalizacja została wykonana
  2. Przepływ przechodzi do stanu
  3. Stan jest testowany.
    • Jeżeli Warunek jest spełniony, przepływ trafia do Ciała
    • Jeśli warunek zwróci wartość false, przepływ wyjdzie poza pętlę
  4. Instrukcje znajdujące się w ciele pętli zostaną wykonane.
  5. Przepływ przechodzi do aktualizacji
  6. Następuje aktualizacja i ponownie przechodzimy do kroku 3
  7. Pętla for została zakończona i przepływ wyszedł na zewnątrz.

Schemat blokowy pętli For for w Javie

Schemat blokowy pętli w Javie

Schemat blokowy pętli w Javie

Przykłady pętli Java For

Przykład 1: ( Ten program wydrukuje od 1 do 10)

Jawa




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

Wyjście

1 2 3 4 5 6 7 8 9 10 

Przykład 2: Ten program spróbuje wydrukować Hello World 5 razy.

Jawa




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

Wyjście

Hello World Hello World Hello World Hello World Hello World 

Złożoność metody:

Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)

Przykład pracy na sucho 1

Program zostanie wykonany w następujący sposób.

  1. Program się uruchamia.
  2. i jest inicjowany wartością 1.
  3. Stan jest sprawdzany. 1 <= 5 daje prawdę.
    1. Hello World zostanie wydrukowany po raz pierwszy.
    2. Aktualizacja została wykonana. Teraz ja = 2.
  4. Stan jest sprawdzany. 2 <= 5 daje prawdę.
    1. Hello World zostanie wydrukowany po raz drugi.
    2. Aktualizacja została wykonana. Teraz ja = 3.
  5. Stan jest sprawdzany. 3 <= 5 daje prawdę.
    1. Hello World zostanie wydrukowany po raz trzeci
    2. Aktualizacja została wykonana. Teraz ja = 4.
  6. Stan jest sprawdzany. 4 <= 5 daje prawdę.
    1. Hello World zostanie wydrukowany po raz czwarty
    2. Aktualizacja została wykonana. Teraz ja = 5.
  7. Stan jest sprawdzany. 5 <= 5 daje prawdę.
    1. Hello World zostanie wydrukowany po raz piąty
    2. Aktualizacja została wykonana. Teraz ja = 6.
  8. Stan jest sprawdzany. 6 <= 5 daje fałsz.
  9. Przepływ wychodzi poza pętlę. Program kończy się.

Przykład 3: (Program wypisuje sumę x z zakresu od 1 do 20)

Jawa




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

Wyjście

Sum: 210 

Zagnieżdżona pętla For w Javie

Java Nested For Loop to koncepcja użycia pętli for wewnątrz innej pętli for (podobnie jak przy użyciu zagnieżdżonej pętli if-else). Wyjaśnijmy to na przykładzie podanym poniżej:

Jawa




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

Wyjście

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 

Aby dowiedzieć się więcej o pętlach zagnieżdżonych, zobacz Zagnieżdżone pętle w Javie .

Pętla Java For-Each

Ulepszona pętla For lub Pętla Java For-Each W Java to kolejna wersja pętli for wprowadzona w Javie 5. Ulepszona pętla for zapewnia prostszy sposób iteracji po elementach kolekcji lub tablicy. Jest nieelastyczny i należy go stosować tylko wtedy, gdy zachodzi potrzeba iteracji po elementach w sposób sekwencyjny, nie znając indeksu aktualnie przetwarzanego elementu.

Notatka: Obiekt/zmienna jest niezmienna, gdy używana jest udoskonalona pętla for, tj. zapewnia, że ​​wartości w tablicy nie mogą być modyfikowane, więc można powiedzieć, że jest to pętla tylko do odczytu, w której nie można aktualizować wartości, w przeciwieństwie do innych pętli gdzie można modyfikować wartości.

Składnia:

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

Weźmy przykład, aby zademonstrować, jak można wykorzystać ulepszoną pętlę for w celu uproszczenia pracy. Załóżmy, że istnieje tablica nazw i chcemy wydrukować wszystkie nazwy z tej tablicy. Zobaczmy różnicę między tymi dwoma przykładami dzięki tej prostej implementacji:

Jawa




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

Wyjście

Ron Harry Hermoine 

Złożoność powyższej metody:

Złożoność czasowa: O(1)
Przestrzeń pomocnicza: O(1)

Rekomendacje: Jeśli to możliwe, używaj tej formy oświadczenia zamiast formy ogólnej. (zgodnie z dokumentacją JAVA)

Java Infinite dla pętli

Jest to nieskończona pętla, ponieważ warunek nigdy nie zwróci wartości fałszywej. Krok inicjalizacji polega na ustawieniu wartości zmiennej i na 1, ponieważ zwiększamy wartość i, zawsze będzie ona większa niż 1, więc nigdy nie zwróci wartości false. To ostatecznie doprowadziłoby do warunku nieskończonej pętli.

Przykład:

Jawa




// Java infinite loop> class> GFG {> > public> static> void> main(String args[])> > {> > for> (> int> i => 1> ; i>=> 1> ; i++) {> > System.out.println(> 'Infinite Loop '> + i);> > }> > }> }>

Wyjście

Infinite Loop 1 Infinite Loop 2 ... 

Istnieje inna metoda wywoływania pętli Infinite

Jeśli użyjesz dwóch średniki ;; w pętli for będzie to bezokolicznik dla pętli.

Składnia:

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

Przykład:

Jawa




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

Wyjście

infinitive loop infinitive loop .... 

Często zadawane pytania dotyczące Java for Loop

1. Co to jest pętla for w Javie?

Pętla for w Javie to typ pętli używany do powtarzalnego wykonywania kodu blokowego, aż do spełnienia warunku.

2. Jaka jest składnia pętli for?

Poniżej omówiono składnię pętli for:

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

3. Dlaczego używana jest pętla for?

Pętli for używamy, gdy chcemy powtórzyć tę samą instrukcję określoną liczbę razy.

Należy odnieść się: