# Loops

A Loop is used to repeat a specific block of code a over and over. There are two main types of loops, for loops and while loops.

# Loops - or repeating yourself

Loops allows us to repeat a single (or several) lines of code over and over again. This allows us to "write once" and then "execute many times"

There are TWO loops that you must memorize.

1. The For Loop: Which is used when we know how many times the loop will execute.

2. The While Loop: When we don't know how many times, but want to continue until a certain condition is not true.

## Nesting Loops

It is perfectly legal to place the code for one loop inside the code of another loop. What this means is that the "inner" loop is executed one time in its entirety for every time the outer loop executes. Consider the following pseudocode where the outer loop executes 10 times and the inner loop executes 10 times, the code inside the inner loop is executed 100 times!

```        ```

for i = 1 to 9
for j = 1 to 9
matrix(i,j) = i*j;
end
end

// The result of this code is that a matrix variable with
// have 9 rows and 9 column (81 buckets), and every row,col
// will contain its multiplication value, such as:

//   | 1  2  3  4  5  6  7  8  9
// --+-----------------------------
// 1 |  1  2  3  4  5  6  7  8  9
// 2 |  2  4  6  8 10 12 14 16 18
// 3 |  3  6  9 12 15 18 21 24 27
// 4 |  4  8 12 16 20 24 28 32 36
// 5 |  5 10 15 20 25 30 35 40 45
// 6 |  6 12 18 24 30 36 42 48 54
// 7 |  7 14 21 28 35 42 49 56 63
// 8 |  8 16 24 32 40 48 56 64 72
// 9 |  9 18 27 36 45 54 63 72 81

```
```

Nesting is a powerful tool when you want the computer to "process" in "two dimensions".