Pętla For-Each w java - Korzystanie z różnych warunków - Przykłady

Spisie treści:

Anonim

Wprowadzenie do pętli For-Each w Javie

Każda pętla została wprowadzona w Javie, począwszy od JDK 5. Ma ona na celu sekwencyjne iterowanie wszystkich elementów kolekcji lub tablicy. Jest również dostępny w innych językach, takich jak C #, gdzie używa słowa kluczowego dla każdego z nich. Jednak Java używa słowa kluczowego „for” tylko do implementacji dla każdej pętli w przeciwieństwie do C #, ale jego składnia różni się od konwencjonalnej dla pętli. Ta pętla dla każdej pętli jest również znana jako rozszerzona pętla dla Java.

Składnia

for(type iter_var : Collection) statement_block

Wyjaśnienie każdego z powyższych terminów jest następujące:

  1. „typ” wskazuje typ danych obiektów
  2. „iter_var” wskazuje nazwę zmiennej iteracyjnej, która przechowuje każdą wartość kolekcji podczas iteracji w pętli.
  3. „Kolekcja” określa kolekcję lub tablicę, przez którą chcemy iterować.
  4. „blok instrukcji” to zestaw instrukcji, które chcemy wykonać dla każdej iteracji pętli.

Należy zauważyć, że pętla For-each uzyskuje dostęp do elementów kolekcja / tablica sekwencyjnie, gdzie przechowuje wartość każdego elementu w zmiennej iteracyjnej. Poniżej znajduje się schemat przepływu dla każdej pętli.

Jak zauważyłeś, istnieją pewne subtelne różnice między pętlą for i for-each. Dla pętli wymagana jest wcześniejsza liczba iteracji. Nie dzieje się tak jednak w przypadku pętli dla każdego, ponieważ pętla przechodzi od pierwszego elementu do ostatniego elementu kolekcji / tablicy i nie wymaga podania liczby iteracji.

Należy pamiętać, że typ określony w pętli For-each musi być zgodny z typem elementów w kolekcji, ponieważ w przeciwnym razie wystąpią problemy ze zgodnością.

Przykłady

Dla pętli

Znajdźmy średni wiek grupy osób korzystających z pętli:

Kod

public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
int sum = 0;
System.out.print("Ages of the group are : "); for (int i = 0; i < 10 ; i++)
(
System.out.print(ages(i)+" "); sum += ages(i);
)
System.out.println("\n Average age of the group = " + (sum/10));
)
)

Wynik:

Dla każdej pętli

Aby znaleźć średni wiek grupy osób korzystających z pętli dla każdego:

Kod

public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
int sum = 0;
System.out.print("Ages of the group are : "); for (int x : ages)
(
System.out.print(x+" "); sum += x;
)
System.out.println("\n Average age of the group = " + (sum/10));
)
)

Wynik:

Wyjście jest takie samo przy użyciu obu pętli, jak widać na powyższych rysunkach.

Pętla Foreach za pomocą instrukcji Break

Możliwe jest zmniejszenie liczby iteracji pętli dla każdej za pomocą instrukcji break. Na przykład, jeśli chcemy znaleźć sumę tylko pierwszych 5 elementów, możemy użyć instrukcji break w następujący sposób:

Kod

public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
int ctr = 0, sum = 0;
System.out.print("Ages of the group are : "); for (int x : ages)
(
System.out.print(x+" ");
)
for (int x : ages)
(
if (ctr == 5) break; sum += x;
ctr += 1;
)
System.out.println("\nSum of age of first 5 people of the group = " + sum);
)
)

Wynik:

We wspomnianej powyżej pętli dla każdego x jest zmienną iteracyjną, która przechowuje jeden element tablicy na iterację, która zmienia się w następnej iteracji. W pierwszej iteracji x przechowuje pierwszy element tablicy i ostatni element tablicy w ostatniej iteracji. W przeciwieństwie do pętli, w której uzyskujemy dostęp do elementów tablicy za pomocą indeksu, dla każdej pętli używa się zmiennej iteracyjnej, aby uzyskać dostęp do elementów.

Należy zachować ostrożność podczas używania każdej pętli, ponieważ zmienna iteracyjna przechowuje tymczasowo wartość elementu tablicy, ponieważ jest on „tylko do odczytu”, a zmiana jego wartości nie modyfikuje oryginalnej tablicy. Jest to sprzeczne z pętlą, w której zmiana elementu modyfikuje oryginalną tablicę.

Rozważmy przykład, w którym dodajemy 5 do każdego elementu tablicy. Różnicę w danych wyjściowych możemy zauważyć w następującym przykładowym kodzie:

Do pętli z innym warunkiem

Kod

public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
System.out.print("Elements of the array are : "); for (int i = 0; i < 10; i++)
(
System.out.print(ages(i)+" "); ages(i)+= 5;
)
System.out.print("\nNew elements of the array are : "); for (int i = 0; i < 10; i++)
(
System.out.print(ages(i)+" ");
)
)
)

Wynik:

Dane wyjściowe pętli for pokazujące aktualizację oryginalnej tablicy

Pętla Foreach z innym warunkiem

Kod

public class Main
(
public static void main(String() args) (
int ages() = (15, 18, 16, 17, 14, 12, 13, 20, 22, 25);
System.out.print("Elements of the array are : "); for (int x : ages)
(
System.out.print(x+" "); x += 5;
)
System.out.print("\nNew elements of the array are : "); for (int x : ages)
(
System.out.print(x+" ");
)
)
)

Wynik:

Dane wyjściowe dla każdej pętli nie pokazują aktualizacji oryginalnej tablicy

O czym należy pamiętać o pętli For-Each w Javie

  1. Pętla For-Each w java służy do iteracji po kolei elementów tablicy / kolekcji.
  2. Pętla For-Each w java używa zmiennej iteracyjnej do iteracji w kolekcji lub tablicy elementów.
  3. Modyfikacja zmiennej iteracyjnej nie modyfikuje oryginalnej tablicy / kolekcji, ponieważ jest ona tylko do odczytu.
  4. Typ w każdej pętli musi być zgodny z typem oryginalnych elementów tablicy / kolekcji.
  5. Pętla Foreach nie wymaga podania liczby iteracji, ponieważ iteruje wszystkie elementy kolekcji.
  6. Możliwe jest zatrzymanie pętli dla każdego za pomocą instrukcji break.

Polecane artykuły

Jest to przewodnik po pętli For-Each w Javie. Tutaj omawiamy pętlę For-Each w java z jej implementacją kodu na różne sposoby, czyli z instrukcją break i różnymi warunkami. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Drukuj tablicę w Javie
  2. Pętle w programowaniu Java
  3. Podczas pętli w Javie
  4. Tablice 3D w Javie
  5. Narzędzia wdrażania Java
  6. Tablice 3D w C ++
  7. Dla pętli w C.
  8. Tablice w programowaniu Java