Justify why one loop structure may be better suited to solve a problem than the others

11.2 Constructs – Loops

Why Choose One Loop Over Another? 🤔

Loops are the engines that let a computer repeat actions. Depending on the problem, one loop can be faster, clearer, or safer than the others.

  • While‑loop – best when you don’t know how many times you’ll need to repeat.
  • Do‑while‑loop – guarantees the body runs at least once.
  • For‑loop – ideal when you have a fixed number of iterations or need a counter.

Analogy: The Three Types of Runners 🏃‍♂️🏃‍♀️🏃‍♂️

Think of loops as runners in a race:

  1. While‑runner starts only when the finish line is still ahead. If the line moves, the runner keeps going.
  2. Do‑while‑runner always takes a step first, then checks if the finish line is reached.
  3. For‑runner knows exactly how many laps to run before stopping.

When to Use Each Loop

Loop Type Best Use Case Why It Wins
While‑loop Reading input until a sentinel value is entered. No need to pre‑determine the number of iterations.
Do‑while‑loop Menu driven programs where the menu must appear at least once. Guarantees at least one execution before checking the exit condition.
For‑loop Iterating over an array or a known range. Compact syntax: initialisation, condition, increment all in one line.

Example: Counting Down a Countdown Timer

We want to display a countdown from 10 to 0.

for (int i = 10; i >= 0; i--) {
    System.out.println(i);
}

Why for‑loop is best here:

  • We know the start (10) and end (0).
  • The counter i is naturally part of the loop header.
  • Less chance of an infinite loop compared to a while that might forget to decrement.

Exam Tip Box 📚

Tip: When the problem statement says “repeat until a condition is met”, think while or do‑while. If it says “repeat n times”, choose for.

Remember to check the order of evaluation in a do‑while – the body runs before the condition.

Use the for loop’s increment/decrement part to avoid off‑by‑one errors.

Quick Quiz 🎯

  1. Which loop is guaranteed to execute at least once, even if the condition is false at the start?
  2. When iterating over a List<String> names, which loop gives you the index of each element?
  3. Why might a while loop be preferable when reading a file until the end?

Answer the questions in your notebook and check your reasoning against the explanations above. Good luck!

Revision

Log in to practice.

2 views 0 suggestions