Eine verschachtelte Schleife ist eine Schleife, die in einer Schleife ausgeführt wird. Bei jedem Durchlauf der äußeren Schleife wird die innere Schleife ausgeführt. Das heißt, wenn die äußere Schleife n-mal ausgeführt wird und die innere Schleife als solche m-mal, dann wird der innere Schleifenkörper insgesamt n*m-mal durchlaufen.
Im folgenden Code wird diese Berechnung durchgeführt, indem bei jedem Durchlauf der inneren Schleife der Zähler count um 1 erhöht wird.
final int N = 200, M = 1000;
int count = 0;
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
count++;
}
}
System.out.println(count); // Ausgabe: 200000
Anwendungsmöglichkeiten von verschachtelten Schleifen:
- Iterieren über mehrdimensionale Datenstrukturen wie Arrays, Bilddaten, …
- Sortieralgorithmen, z.B. Bubble-Sort, Selection-Sort, …
- Rechnen mit Matrizen
Im Folgenden wird gezeigt, wie man mit einer doppelten for-Schleife eine Addition von zwei Matrizen durchführt:
static double[][] add(double[][] x, double[][] y) {
double[][] result = new double[x.length][x[0].length];
for (int row = 0; row < result.length; row++) {
for (int col = 0; col < result[0].length; col++) {
result[row][col] = x[row][col] + y[row][col];
}
}
return result;
}
public static void main(String[] args) {
double[][] m1 = { { 1, 2 },
{ 3, 4 },
{ 5, 6 } };
double[][] m2 = { { 2, 4 },
{ 4, 6 },
{ 5, 1 } };
double[][] m3 = add(m1,m2);
System.out.println(Arrays.deepToString(m3));
}
