Nested loops
Contents
Introduction
A nested loop is simply just more than one loop inside another. There are no special rules for using nested loops, you only need to take them one at a time. This may sound complicated but after you start using nested loops it will seem like second nature. The best way to start learning about nested loops is to look at an example using matrices.
Matrix Example
If you have never encountered a matrix before you can think of it as rows and columns of numbers. Or you can think of a matrix as simply a table of rows and columns like so:
A simple matrix with two rows and three columns. 012 345
Now suppose you wanted to print that matrix out in a program by simply using loops. An easy solution would be to use double nested for loops such as:
int row, column; int count = 0; for(row = 0; row < 2; row++) { for(column = 0; column < 3; column++) { System.out.print(count); count++; } System.out.println(); }
The best way to describe what is happening here is to break this code up into the two loops.
Outer Loop
for(row = 0; row < 2; row++) { ... }
We already know that a for loop will perform the same task until its test condition is met. In this example, the loop will execute the code inside two times meaning that whatever is inside this loop will be performed twice.
Inner Loop
for(column = 0; column < 3; column++) { System.out.print(count); count++; } System.out.println();
Here is a simple for loop that prints out the value of count, updates count and finishes by adding a new line once the loop's test condition is met. This loop will run three times printing out:
012
Putting it All Together
- The outer loop will perform whatever is inside two times.
- The contents of the outer loop is another loop.
- The inner loop prints out the value of count in sets of three.
- Therefore the inner loop will be executed two times with a total of 6 iterations (3 per execution).
Other Uses
- When you learn about multi-dimensional arrays, double for loops will come in handy (see Matrix Example).
- You can mix and match different types of loops together to create nested loops.
Example:
while(...) { for(...) { for(...) { ... } } while(...) { ... } }
Programming Questions
Program 1 Create a program that asks the user for input in the form of a number Answer