Heim  >  Artikel  >  Java  >  Verschachtelte Schleife in Java

Verschachtelte Schleife in Java

WBOY
WBOYOriginal
2024-08-30 15:25:34444Durchsuche

Die Schleifen, die aus einer weiteren Schleife darin bestehen, werden als verschachtelte Struktur aufgebaut, und die äußere Schleife überwacht die Anzahl der Ausführungen der inneren Schleife. Schleifen, die in einer solchen Struktur arbeiten, werden als verschachtelte Schleife bezeichnet. Es wird auch als Schleife innerhalb der Schleife bezeichnet.

WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 Probetests

Syntax der verschachtelten Schleife in Java

Im Folgenden sind die unterschiedlichen Syntaxen aufgeführt:

1. Geschachtelte For-Schleife

for(initialize;cond1;increment/decrement)
{
for(initialize;cond2;increment/decrement)
{
//body of loop2
}
//body of loop1
}

2. Verschachtelte While-Schleife

while(cond1)
{
while(cond2)
{
// body of loop2
}
//body of loop1
}

3. Verschachtelte Do-while-Schleife

do{
do{
//body of loop 2
}while(cond2)
//body of loop 1
}while(cond1

4. Verschachtelte heterogene Schleife

Bei der Verschachtelung der Schleife gibt es keine Einschränkungen, da nur ähnliche Schleifentypen verschachtelt werden können. Wir können jede Schleife in jede andere Schleife verschachteln, z. B. while in der for-Schleife oder while-Schleife in der do-while-Schleife, und alle anderen möglichen Kombinationen sind alle anwendbar.

for(initialize;cond1;increment/decrement)
{
while(cond2){
//body of loop2
}
// body of loop1
}

Flussdiagramm

Verschachtelte Schleife in Java

Erklärung:

Im obigen Flussdiagramm wird zunächst, wenn wir den Hauptteil des Programms betreten, eine Anweisung wie Initialisierungs- oder Druckanweisungen get ausgeführt. Sobald eine Schleife gefunden wird, prüft das Programm die Bedingung für die äußere Schleife. Wenn es „true“ zurückgibt, gelangt es in die Schleife; Andernfalls wird die Schleife beendet und die restlichen Anweisungen des Programms nach der Schleife werden ausgeführt.

Sobald es in die äußere Schleife eintritt und auf die innere Schleife stößt, werden Variablen initialisiert, falls vorhanden. Anschließend wird die Bedingung für die innere Schleife überprüft, wenn sie „true“ zurückgibt. Das Programm tritt in die innere Schleife ein. Andernfalls kehren Sie zum Ende von Schleife1 zurück und führen Sie eine Erhöhung/Verringerung durch, um Schleife1 erneut auszuführen.

Wenn cond2 „true“ zurückgibt, werden Loop2-Anweisungen ausgeführt und die Zählervariable wird inkrementiert/dekrementiert. Dieser Vorgang wird mehrmals wiederholt, und dann verlässt das Programm Schleife2, dann Schleife1 und geht zu den Anweisungen nach der Schleife über.

Wie Nested Loop in Java funktioniert?

Jede Schleife besteht aus den folgenden drei Dingen:

  1. Initialisierung: Dieser Schritt bezieht sich auf die Initialisierung des Werts des Zählers.
  2. Bedingung: Diese Bedingung bezieht sich auf den Vergleich, der wahr sein muss, um die Ausführung der Schleife fortzusetzen.
  3. Inkrementieren/Dekrementieren des Zählers: Dies bezieht sich auf die Operation, die am Zähler ausgeführt werden soll, sobald ein Schleifenfluss endet.

Bei verschachtelten Schleifen werden die oben genannten drei Schritte für jede darin enthaltene Schleife überprüft. Somit wird bei jedem Fluss der äußeren Schleife die innere Schleife vollständig ausgeführt. Das heißt, wenn wir m Flüsse für die äußere Schleife und n Flüsse für die äußere Schleife haben, wird diese Schleife zusammen m*n-mal ausgeführt.

Hinweis: Es gibt keine Beschränkungen hinsichtlich der Anzahl der Schleifen, die verschachtelt werden können, sowie der Art der Schleifen, die verschachtelt werden können. Man kann jede Art von Schleife verwenden, man muss jedoch vorsichtig sein, da sie sich auf die Schleife auswirkt zeitliche Komplexität des Programms und wirkt sich somit auf die Performance aus.

Zum Beispiel:

for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
System.out.println(“LOOP DEMO”);
}
}

Im Fall der oben angegebenen verschachtelten Schleife:

Äußere Schleife

Counter variable = i
Condition – i<5
Increment/decrement – i++

Innere Schleife

Counter variable = j
Condition – j<5
Increment/decrement – j++

Beispiele für verschachtelte Schleifen in Java

Im Folgenden finden Sie Beispiele für Nested Loops in Java:

Beispiel #1

Lassen Sie uns ein Programm schreiben, um das folgende Muster zu drucken:

*

**

***

****

*****

Code:
package Try;
class Demo
{
//static method
public static void main(String[] args)
{
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
if(i>=j) {
System.<em>out</em>.print('*');}
}
System.<em>out</em>.println("\n");
}
}
}
Ausgabe: Verschachtelte Schleife in Java Erklärung:

Im obigen Programm werden 2 innere Schleifen verwendet, da das zu druckende Muster ähnlich einem 2D-Array mit „*“ als Element mit 5 Zeilen und 5 Spalten verwendet werden kann.

Außerdem kann die if(i<=j)-Bedingung mithilfe der Positionen von * im 2D-Array ermittelt werden, wobei der Zähler für Zeilen I ist und wir für Spalten j verwenden.

I=1 I=2 I=3 I=4 I=5
J=1 *
J=2 * *
J=3 * * *
J=4 * * * *
J=5 * * * * *

We can easily configure that we need to print * only when i

Example #2

Let’s see the example to print a 2D matrix.

Code:

package Try;
class Demo
{
public static void printMatrix(int arr[][][]){
int i=0,j=0;
while(i<arr.length){
while(j<arr[i].length){
for (int k = 0; k <arr[j].length; k++)
System.out.println("arr[" + i + "][" + j + "]["+ k + "] = "+arr[i][j][k] );
j++;
}
i++;
j=0;
}
}
public static void main(String[] args)
{
int arr[][][] ={ { { 10, 2 }, { 30, 4 } }, { { 51, 6 }, { 79, 8 } } };
printMatrix(arr);
}
}

Output:

Verschachtelte Schleife in Java

Explanation:
In the above program, we have used 3 loops to print the elements stored in a 3D Matrix using 3 counter variables. Thus, any number of loops can be tested as well as any type of loop can be used.

Conclusion

Nested loop refers to the placement of loop inside the loop to execute the operations that need multiple loop traversals such as printing star patterns or search operations on any collection data structure array or linked list. Although it helps to make our task easier, it also increases the complexity of the program thus must be used in an efficient manner.

Das obige ist der detaillierte Inhalt vonVerschachtelte Schleife in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:For-Each-Schleife in JavaNächster Artikel:For-Each-Schleife in Java