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.
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?
- Sterowanie wpada w pętlę for. Inicjalizacja została wykonana
- Przepływ przechodzi do stanu
- 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ę
- Instrukcje znajdujące się w ciele pętli zostaną wykonane.
- Przepływ przechodzi do aktualizacji
- Następuje aktualizacja i ponownie przechodzimy do kroku 3
- 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
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.
- Program się uruchamia.
- i jest inicjowany wartością 1.
- Stan jest sprawdzany. 1 <= 5 daje prawdę.
- Hello World zostanie wydrukowany po raz pierwszy.
- Aktualizacja została wykonana. Teraz ja = 2.
- Stan jest sprawdzany. 2 <= 5 daje prawdę.
- Hello World zostanie wydrukowany po raz drugi.
- Aktualizacja została wykonana. Teraz ja = 3.
- Stan jest sprawdzany. 3 <= 5 daje prawdę.
- Hello World zostanie wydrukowany po raz trzeci
- Aktualizacja została wykonana. Teraz ja = 4.
- Stan jest sprawdzany. 4 <= 5 daje prawdę.
- Hello World zostanie wydrukowany po raz czwarty
- Aktualizacja została wykonana. Teraz ja = 5.
- Stan jest sprawdzany. 5 <= 5 daje prawdę.
- Hello World zostanie wydrukowany po raz piąty
- Aktualizacja została wykonana. Teraz ja = 6.
- Stan jest sprawdzany. 6 <= 5 daje fałsz.
- 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ę:
- Pętle w Javie
- Pętla For w Javie | Ważne punkty
- Zrozumienie pętli for w Javie
- Pętla Java while z przykładami
- Pętla do-while w języku Java z przykładami
- Pętla for-each w Javie
- Różnica między pętlą for i while w C, C++ i Javie
- Różnica między pętlą for i do-while w C, C++ i Javie