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)); }