The body of a loop can contain itself a loop, called a nested loop. It is possible to nest an arbitrary number of loops.
Example: Print out the multiplication table.
public class MultiplicationTable { static final int NMAX = 10; public static void main (String[] args) { int row, column; for (row = 1; row <= NMAX; row++) { for (column = 1; column <= NMAX; column++) System.out.print(row * column + " "); System.out.println(); } } }
Note that we have used an integer constant NMAX, denoting the number of rows (and of columns) of the table. (The static keyword indicates that NMAX is not an instance variable, but a global variable for the class).
Output produced by the program:
1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100