CodeGym /Java-Blog /Random-DE /Java Verschachtelte Schleifen
Autor
John Selawsky
Senior Java Developer and Tutor at LearningTree

Java Verschachtelte Schleifen

Veröffentlicht in der Gruppe Random-DE
Java unterstützt wie die meisten anderen Programmiersprachen verschachtelte Schleifen. Dies bedeutet nur eine Schleife innerhalb einer Schleife. In diesem Artikel erfahren Sie, wie Sie mit verschachtelten Schleifen in Java arbeiten.

Verschachtelte Java-Schleifen

Eine Schleife heißt verschachtelt, wenn sie innerhalb einer anderen Schleife platziert ist. Beim ersten Durchgang ruft die äußere Schleife die innere Schleife auf, die bis zum Abschluss ausgeführt wird. Anschließend wird die Steuerung an den Hauptteil der äußeren Schleife übergeben. Beim zweiten Durchlauf ruft die äußere Schleife erneut die innere auf. Und so weiter, bis die äußere Schleife endet. In Java gibt es vier Arten von Schleifen:
  • for Schleife

  • while Schleife

  • do...while Schleife

  • for-each Schleife

Alle unterstützen verschachtelte Schleifen. Nested-Loop-Konstrukte werden verwendet, wenn zwei voneinander abhängige Bedingungen erfüllt sein müssen. Wenn Sie beispielsweise eine zweidimensionale Matrix, eine Halbpyramide oder eine Multiplikationstabelle anzeigen müssen.

So funktionieren verschachtelte Java-Schleifen

Die wahrscheinlich am häufigsten verwendete Schleife in Java ist for , vor allem weil sie sehr vielseitig ist und der Code damit recht einfach zu lesen ist. Hier ist die allgemeine Syntax für eine verschachtelte for Schleife:

// outer loop
for (initialization; condition; increment) {
  //write here your code 

  //nested loop
  for(initialization; condition; increment) {
    //write here your code
  }
..
}
Wie funktioniert er? Die äußere Schleife beginnt. Dann startet die verschachtelte for Schleife die Arbeit und durchläuft ihren Index, bis die Bedingung erfüllt ist, und übergibt die Arbeit erneut an die äußere Schleife, und dies geschieht, bis die Bedingung der äußeren Schleife erfüllt ist. Klingt ein wenig knifflig, nicht wahr? Nun, anhand eines konkreten Beispiels wird es viel einfacher zu verstehen sein, also machen wir weiter damit.

Beispiel für einen verschachtelten for-Schleifencode

Hier ist ein klassisches Beispiel. Lassen Sie uns eine halbe Pyramide mit zwei Schleifen ausdrucken . Einer davo for Schleifen ausdrucken . Einer davon ist verschachtelt.

public class NestedLoopsDemo1 {

   public static void main(String[] args) {

       for (int i = 0; i < 10; i++) {
           for (int j = 0; j<=i;  j++)
               System.out.print("*");
           System.out.println();
       }
      
   }
}
Die Ausgabe ist:
* ** *** **** ***** ****** ******* ******** ********* **********

Codebeispiel für eine verschachtelte While-Schleife


public class NestedLoopsDemo2 {

   public static void main(String[] args) {

       int i = 0;
       while (i < 10) {
           int j = 0;
           while (j <= i) {
               System.out.print("*");
               j++;
           }
           System.out.println();
           i++;

       }
   }
}
Die Ausgabe ist genau die gleiche wie im vorherigen Beispiel:
* ** *** **** ***** ****** ******* ******** ********* **********
Die do...while Schleife ähnelt der while Schleife. Der Hauptunterschied besteht darin, dass der Rumpf der do...while Schleife einmal vor der Ausdrucksprüfung ausgeführt wird.

Codebeispiel für verschachtelte foreach-Schleifen

Die for-each -Schleife kann wie üblich verschachtelt werden . Hier ist das Beispiel für eine verschachtelte for-each Schleife, die ein zweidimensionales Array iteriert.

public class NestedLoops2 {

       public static void main(String[] args)
       {
           int[][] mainArray = { {5, 4, 3, 2, 1}, {7, 8, 9, 10, 11} };

           for (int[] myArray : mainArray)
           {
               for (int i : myArray)
               {
                   System.out.print(i+" ");
               }
               System.out.println("");
           }
       }
}
Die Ausgabe ist:
5 4 3 2 1 7 8 9 10 11

Beispiel für eine gemischte for- und while-Schleife

Manchmal können wir verschiedene Arten von Schleifen ineinander verschachteln. Zum Beispiel für inside while oder for inside for-each . Es ist jedoch nicht die beste Programmierpraxis. Solche Konstrukte beeinträchtigen die Lesbarkeit des Codes erheblich. Daher versuchen professionelle Programmierer, das eine nicht miteinander zu vermischen. Nun, das tun sie, aber nur, wenn es wirklich nötig ist. Und noch eine kleine Regel: Wenn Sie zwischen while und for wählen , verwenden Sie nach Möglichkeit for. Dennoch sehen wir hier ein Beispiel für die Verwendung einer for Schleife innerhalb der while . Lasst uns unsere Halbpyramide noch einmal bauen.

public class NestedLoopsDemo2 {

   public static void main(String[] args) {
       int i = 0;
       while (i < 10) {
           for (int j = 0; j <= i; j++) {
               System.out.print("*");
           }
           System.out.println();
           i++;

       }
   }
}
Die Ausgabe ist ohne Überraschungen:
* ** *** **** ***** ****** ******* ******** ********* **********
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION