Imagine you have to write a program which performs a repetitive task such as printing 1 to 100. Coding 100 lines to do this would be mundane. There has to be an easier way, right? This is where loops come into the picture. Loops are specifically designed to perform repetitive tasks with one set of code. Loops save a lot of time.
This tutorial focuses on:
- The for loop
- The while loop
- The do-while loop
- Preventing endless loops
- Breaking out of a loop
- Continuing a loop
The for loop
The for loop is used to repeat a task a set number of times. It has three parts.
- variable declaration - Initializes the variable at the beginning of the loop to some value. This value is the starting point of the loop.
- condition - Decides whether the loop will continue running or not. While this condition is true, the loop will continue running. Once the condition becomes false, the loop will stop running.
- increment statement - The part of the loop that changes the value of the variable created in the variable declaration part of the loop. The increment statement is the part of the loop which will eventually stop the loop from running.
Lets take apart the loop from the above example to see what each part does.
- int a = 1 - A variable named a is declared with the value of 1.
- a < 11 - The condition of the loop, states that as long as the variable a is less than 11, the loop should keep running.
- a++ - The increment statement part of the loop, states that for every iteration of the loop, the value of the variable a should increase by 1. Recall that initially a is 1.
- System.out.print(a + " ") - Print the value of a together with a single space for each time the loop runs.
The above loop will execute the code between the braces 10 times because a begins at 1 and ends at 10. This counter is what runs the loop.
The while loop
The while loop works differently than the for loop. The for loop repeats a segment of code a specific number of times, while the while loop repeats a segment of code an unknown number of times. The code within a while loop will execute while the specified condition is true.
In the above code, a variable named num is initialized with the value of 0. The condition for the while loop is that while num is less than 25, 5 should be added to num and it should be printed (together with a single space). Once the value of num is greater than 25, the loop will stop executing.
The do-while loop
The do-while loop is very similar to the while loop, but it does things in reverse order. The while loop - while a condition is true, perform a certain action, the do-while loop - perform a certain action while a condition is true. Also, the code within a do-while loop will always execute at least once, even if the specified condition is false. This is because the code is executed before the condition is tested.
In the above code, a variable named num is initialized with the value of 5. The condition for the do-while loop is that 2 should be added to num and it should be printed (together with a single space) while num is less than 25. Once the value of num is greater than 25, the loop will stop executing.
Preventing endless loops
A necessary precaution when working with a loop is to make sure that the loop is not endless. To prevent endless loops, you need to ensure that the condition in a loop will eventually become false.
Breaking out of a loop
You can completely break out of a loop when it is still running. This is achieved with the break keyword. Once a loop is exited, the first statement right after it will be executed. The break keyword provides an easy way to exit a loop if an error occurs, or if you found what you were looking for.
In the above example, the for loop is set to iterate 9 times and print the current value of the variable a during each iteration. The if statement within the loop states that when the variable a is equal to 5, break out of the loop.
Continuing a loop
While you can break out of a loop completely with the break keyword, there is another keyword used when working with loops - the continue keyword. Using the continue keyword in a loop will stop the loop at some point and continue with the next iteration of the loop from the beginning of it.
In the above example, the for loop is set to iterate 9 times and print the current value of the variable a during each iteration. The if statement within the loop states that when the variable a is equal to 5, stop the loop and continue with the next iteration of the loop from the beginning of it. For this reason, all the numbers except the number 5 are printed.
NOTE: For the continue keyword to work properly, the conditional statement needs to come first just like in the above example.