2. Selection and Iteration

While Loops

while Loops in AP Computer Science A

students, imagine a phone app that keeps asking for your password until you type it correctly ๐Ÿ”. Or a game that keeps letting you take turns until you run out of lives ๐ŸŽฎ. These are everyday examples of iteration, which means repeating steps. In AP Computer Science A, one of the most important tools for iteration is the while loop.

In this lesson, you will learn how while loops work, when to use them, and how they connect to the bigger topic of Selection and Iteration. By the end, you should be able to explain what a while loop does, trace one step by step, and recognize situations where it is better than a for loop.

What a while Loop Does

A while loop repeats a block of code as long as a condition is true. The condition is a Boolean expression, which means it evaluates to either true or false. If the condition is true, the loop body runs. After the body finishes, the condition is checked again. This continues until the condition becomes false.

The general structure is:

$$

\text{while } (\text{condition}) \{\ \text{statements}\ \}

$$

In Java, the condition must be a Boolean expression such as $x < 10$ or $done == false$. The loop stops when that expression becomes false.

A while loop is especially useful when you do not know ahead of time how many times the loop should repeat. For example, if a program keeps reading input until the user types quit, the number of repetitions depends on the user, not the programmer.

Real-world example

Think about a security guard checking badges at a building entrance. The guard keeps checking people while there are still people in line. Once the line is empty, the checking stops. The condition is based on the situation, not a fixed count.

Parts of a while Loop

A while loop has three important parts:

  1. Initialization: Set up any variables the loop needs before it starts.
  2. Condition: A Boolean test that decides whether to keep going.
  3. Update: A change inside the loop that eventually makes the condition false.

Here is a simple example:

int count = 1;
while (count <= 5) {
    System.out.println(count);
    count++;
}

Letโ€™s break it down:

  • count starts at $1$.
  • The condition is $count \le 5$.
  • Each time through the loop, the program prints the current value of count and then increases count by $1$.
  • When count becomes $6$, the condition $count \le 5$ is false, so the loop ends.

This example prints:

$$

1,\ 2,\ 3,\ 4,\ 5

$$

The update step is very important. If the variable in the condition never changes, the loop may never stop.

Tracing a while Loop Step by Step

Tracing means following the program line by line to see what happens. AP Computer Science A often asks you to trace loops, so this skill matters a lot.

Consider this code:

int total = 0;
int n = 3;
while (n > 0) {
    total = total + n;
    n--;
}

Letโ€™s trace it:

  • Before the loop: $total = 0$, $n = 3$
  • Check $n > 0$: true, so enter the loop
  • Add $3$ to total: $total = 3$
  • Decrease $n$ to $2$
  • Check again: $2 > 0$, true
  • Add $2$: $total = 5$
  • Decrease $n$ to $1$
  • Check again: $1 > 0$, true
  • Add $1$: $total = 6$
  • Decrease $n$ to $0$
  • Check again: $0 > 0$, false, so stop

Final result: $total = 6$

This loop adds the numbers $3$, $2$, and $1$. In math terms, it computes $3 + 2 + 1$.

Sentinel Values and Input-Controlled Loops

A very common use of while loops is to keep reading input until a special value appears. That special value is called a sentinel. A sentinel is a signal that tells the loop to stop.

Example:

String word = scanner.nextLine();
while (!word.equals("stop")) {
    System.out.println("You typed: " + word);
    word = scanner.nextLine();
}

This loop prints each line the user enters until the user types stop.

Why does this work?

  • Before the loop, the program reads the first word.
  • The condition is $!word.equals("stop")$, which means โ€œword is not equal to stop.โ€
  • If the word is not stop, the loop body runs.
  • At the end of the loop, the program reads the next word.
  • The loop eventually stops when the user enters stop.

This pattern is common in programs that process repeated user input, such as quiz apps, chat systems, or menu-driven programs ๐Ÿ’ฌ.

while Loops and the Bigger Topic of Selection and Iteration

Selection means making a decision with an if statement or similar structure. Iteration means repeating code. A while loop combines both ideas because the computer repeatedly checks a Boolean condition before deciding whether to continue.

In AP Computer Science A, you should understand that the condition in a while loop is a type of selection. Each time the loop reaches the top, it makes a yes-or-no decision:

  • If the condition is true, the loop continues.
  • If the condition is false, the loop ends.

So while loops are a major part of Selection and Iteration because they use selection to control repetition.

Here is an important connection:

  • A simple if statement makes one decision.
  • A while loop makes the same kind of decision many times.

That repeated checking is what makes while loops powerful.

Common Mistakes and How to Avoid Them

One of the most common mistakes is creating an infinite loop. An infinite loop happens when the condition never becomes false.

Example:

int x = 1;
while (x > 0) {
    System.out.println(x);
}

This loop never changes x, so the condition $x > 0$ stays true forever. The program keeps printing $1$ and never stops.

To avoid infinite loops, make sure:

  • the loop condition can eventually become false,
  • the update statement really changes the control variable,
  • and the condition matches the goal of the loop.

Another mistake is using the wrong Boolean expression. For example, if a loop should continue until a variable is equal to $10$, then the condition should be something like $x \neq 10$ or $x < 10$, depending on the design.

Also, pay attention to whether the loop should use == or .equals() in Java:

  • Use == for primitive values like int and boolean.
  • Use .equals() for objects like String.

That difference matters on the AP exam.

while Loops in Standard Algorithms

A while loop often appears in standard algorithms, which are common patterns used to solve problems.

Example: Summing values

Suppose you want to add numbers from $1$ to $n$.

int sum = 0;
int i = 1;
while (i <= n) {
    sum += i;
    i++;
}

This loop works because it starts at $1$, keeps going while $i \le n$, and increases $i$ each time.

Example: Finding the first matching value

int index = 0;
while (index < arr.length && arr[index] != target) {
    index++;
}

This loop keeps searching until it finds target or reaches the end of the array. The condition uses $index < arr.length$ to avoid going out of bounds.

These examples show that while loops are useful for searching, counting, and processing data until a stopping condition is reached.

Informal Runtime Analysis

Informal runtime analysis means thinking about how long a program takes as the input grows. For while loops, the runtime depends on how many times the loop repeats.

If a loop runs $n$ times and each loop body step takes about the same amount of time, then the runtime grows roughly with $n$. This is often described as linear time, or $O(n)$.

Example:

int i = 0;
while (i < n) {
    i++;
}

This loop repeats once for each value from $0$ to $n - 1$, so it runs about $n$ times.

A loop may run fewer or more times depending on the condition, but the key AP idea is this: to analyze a while loop, count how many repetitions can happen and whether that number depends on the size of the input.

Conclusion

students, while loops are one of the most important tools in AP Computer Science A because they let programs repeat actions until a condition changes. They are built on Boolean expressions, so they connect directly to selection. They are also a major part of iteration because they repeat code efficiently. When you understand initialization, condition checking, updates, sentinels, and tracing, you can read and write while loops confidently. You can also recognize infinite loop risks and make basic runtime estimates. These skills will help you solve many AP CSA problems involving input, searching, counting, and standard algorithms ๐Ÿ“˜.

Study Notes

  • A while loop repeats a block of code while a Boolean condition is true.
  • The general form is $\text{while }(\text{condition})\{\text{statements}\}$.
  • A while loop is useful when the number of repetitions is not known in advance.
  • Three key parts are initialization, condition, and update.
  • The loop stops when the condition becomes false.
  • A sentinel value is a special input that signals the loop to end.
  • Infinite loops happen when the condition never becomes false.
  • In Java, use == for primitives and .equals() for String objects.
  • while loops connect selection and iteration because the condition is checked repeatedly.
  • Informal runtime analysis often counts how many times the loop repeats, which may lead to $O(n)$ behavior.

Practice Quiz

5 questions to test your understanding