Verschachtelte Schleife in Java (mit Beispielen)

In diesem Tutorial lernen wir anhand von Beispielen verschachtelte Schleifen in Java kennen.

Wenn eine Schleife im Körper einer anderen Schleife vorhanden ist, wird sie als verschachtelte Schleife bezeichnet. Hier ist ein Beispiel für die verschachtelte forSchleife.

 // outer loop for (int i = 1; i <= 5; ++i) ( // codes // inner loop for(int j = 1; j <=2; ++j) ( // codes )… )

Hier verwenden wir eine forSchleife innerhalb einer anderen forSchleife.

Wir können die verschachtelte Schleife verwenden, um 3 Wochen lang jeden Tag einer Woche zu durchlaufen.

In diesem Fall können wir eine Schleife erstellen, die dreimal (3 Wochen) wiederholt wird. Und innerhalb der Schleife können wir eine weitere Schleife erstellen, die 7 Mal (7 Tage) wiederholt wird.

Beispiel 1: Java Nested for Loop

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; // outer loop prints weeks for (int i = 1; i <= weeks; ++i) ( System.out.println("Week: " + i); // inner loop prints days for (int j = 1; j <= days; ++j) ( System.out.println(" Day: " + j); ) ) ) )

Ausgabe

Woche: 1 Tag: 1 Tag: 2 Tag: 3…. Woche: 2 Tag: 1 Tag: 2 Tag: 3….….

Im obigen Beispiel wird die äußere Schleife dreimal wiederholt und 3 Wochen lang gedruckt. Die innere Schleife wird 7 Mal wiederholt und die 7 Tage gedruckt.

Auf ähnliche Weise können wir auch verschachtelte Schleifen mit while und do… while erstellen.

Hinweis : Es ist möglich, einen Schleifentyp innerhalb des Körpers einer anderen Schleife zu verwenden. Zum Beispiel können wir eine forSchleife in die whileSchleife einfügen.

Beispiel 2: Java for-Schleife innerhalb der while-Schleife

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; int i = 1; // outer loop while (i <= weeks) ( System.out.println("Week: " + i); // inner loop for (int j = 1; j <= days; ++j) ( System.out.println(" Days: " + j); ) ++i; ) ) )

Ausgabe :

Woche: 1 Tag: 1 Tag: 2 Tag: 3…. Woche: 2 Tag: 1 Tag: 2 Tag: 3….….

Hier können Sie sehen, dass die Ausgabe von Beispiel 1 und Beispiel 2 gleich ist.

Beispiel 3: Verschachtelte Java-Schleifen zum Erstellen eines Musters

Wir können die verschachtelte Schleife in Java verwenden, um Muster wie Vollpyramide, Halbpyramide, invertierte Pyramide usw. zu erstellen.

Hier ist ein Programm zum Erstellen eines Halbpyramidenmusters mit verschachtelten Schleifen.

 class Main ( public static void main(String() args) ( int rows = 5; // outer loop for (int i = 1; i <= rows; ++i) ( // inner loop to print the numbers for (int j = 1; j <= i; ++j) ( System.out.print(j + " "); ) System.out.println(""); ) ) )

Ausgabe

 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5

Um mehr zu erfahren, besuchen Sie das Java-Programm, um Pyramiden und Muster zu drucken.

brechen Sie und setzen Sie Inside Nested Loops fort

Wenn wir eine breakAnweisung innerhalb der inneren Schleife verwenden, wird die innere Schleife beendet, nicht jedoch die äußere Schleife. Beispielsweise,

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; // outer loop for(int i = 1; i <= weeks; ++i) ( System.out.println("Week: " + i); // inner loop for(int j = 1; j <= days; ++j) ( // break inside the inner loop if(i == 2) ( break; ) System.out.println(" Days: " + j); ) ) ) )

Ausgabe

Woche: 1 Tag: 1 Tag: 2…. Woche: 2 Woche: 3 Tag: 1 Tag: 2….….

Im obigen Beispiel haben wir die break-Anweisung in der inneren forSchleife verwendet. Hier überspringt das Programm die Schleife, wenn i 2 ist .

Daher werden Tage für Woche 2 nicht gedruckt. Die äußere Schleife, die die Woche druckt, bleibt jedoch unberührt.

Wenn wir eine continueAnweisung innerhalb der inneren Schleife verwenden, wird in ähnlicher Weise nur die aktuelle Iteration der inneren Schleife übersprungen. Die äußere Schleife bleibt unberührt. Beispielsweise,

 class Main ( public static void main(String() args) ( int weeks = 3; int days = 7; // outer loop for(int i = 1; i <= weeks; ++i) ( System.out.println("Week: " + i); // inner loop for(int j = 1; j <= days; ++j) ( // continue inside the inner loop if(j % 2 != 0) ( continue; ) System.out.println(" Days: " + j); ) ) ) )

Ausgabe

 Woche: 1 Tage: 2 Tage: 4 Tage: 6 Woche: 2 Tage: 2 Tage: 4 Tage: 6 Woche: 3 Tage: 2 Tage: 4 Tage: 6

Im obigen Beispiel haben wir die continue-Anweisung in der inneren for-Schleife verwendet. Beachten Sie den Code,

 if(j % 2 != 0) ( continue; )

Hier wird die continueAnweisung ausgeführt, wenn der Wert von j ungerade ist. Daher druckt das Programm nur die Tage, die gerade sind.

Wir können sehen, dass die continueAnweisung nur die innere Schleife beeinflusst hat. Die äußere Schleife funktioniert problemlos.

Interessante Beiträge...