PrepGo

Array Traversals - AP Computer Science A Study Guide

Written by AP Content Team, Verified for 2026 AP Exams, Last updated: July 2026

Learn with study guides reviewed by top AP teachers. This guide takes about 12 minutes to read.

Getting Started

Arrays are powerful tools for storing lists of related data, such as a list of student grades or daily temperatures. However, simply storing data is not enough; we often need to process it. Array traversal provides a systematic way to access and work with every single element in an array, forming the foundation for common algorithms like searching for a value, calculating an average, or finding the highest score.

What You Should Be Able to Do

  • Write a for loop to visit every element in a 1D array from the first element to the last.

  • Use an index variable within a loop to access and manipulate individual array elements.

  • Implement common algorithms that require array traversal, such as summing elements or finding a specific value.

  • Trace the execution of a loop that traverses an array to predict its output or final state.

  • Identify and correct code that would cause an ArrayIndexOutOfBoundsException during traversal.

Key Concepts & Java Implementation

The Core Idea

Traversal is the process of systematically visiting, or accessing, each element in a data structure. For arrays, this typically means starting at the first element (index 0) and proceeding sequentially to the last element (at index length - 1). Because this process is repetitive—performing the same action on each element—it is perfectly suited for implementation with a loop.

The most common and reliable way to traverse an array in Java is with a for loop. The loop's control variable is used as the index to access each array element in turn. The loop must be carefully constructed to start at index 0 and stop just before the index goes out of bounds, using the array's length property to control its execution.

Syntax & Implementation

The standard for loop is the primary tool for traversing an array. Its structure is designed to handle the three key parts of traversal: initialization, the continuation condition, and updating the index.

Syntax Table: The Traversal for Loop

ComponentPurposeJava Example
for loopA control structure that repeats a block of code a specific number of times.for (int i = 0; i < arr.length; i++) { ... }
InitializationSets up a loop control variable, typically an integer i, to start at index 0.int i = 0;
ConditionChecks if the loop should continue. For arrays, we continue as long as i is less than the array's length.i < arr.length
UpdateIncrements the loop control variable after each iteration to move to the next index.i++
array.lengthAn attribute of an array that stores the number of elements it can hold. It is not a method.int size = arr.length;
array[i]The syntax for accessing the element at the index specified by the variable i.int value = arr[i];

Annotated Java Examples

1. Printing All Elements

This is the most fundamental traversal algorithm. The loop visits each index, and inside the loop, we print the element at that index.


public class ArrayPrinter {

    public static void main(String[] args) {

        // An array of integers

        int[] scores = {88, 92, 77, 100, 95};


        // Standard for loop for traversal

        // i starts at 0 and continues as long as it is less than the array's length (5)

        for (int i = 0; i < scores.length; i++) {

            // Access the element at the current index 'i' and print it

            System.out.println("Element at index " + i + ": " + scores[i]);

        }

    }

}

Output:


Element at index 0: 88

Element at index 1: 92

Element at index 2: 77

Element at index 3: 100

Element at index 4: 95

2. Calculating the Sum of Array Elements

This example shows how to use a traversal to perform a calculation. An accumulator variable, sum, is initialized before the loop and updated on each iteration.


public class ArraySummer {

    public static void main(String[] args) {

        double[] prices = {19.99, 24.50, 9.85, 12.00};

        double sum = 0.0; // Initialize an accumulator variable


        // Traverse the array to access each price

        for (int i = 0; i < prices.length; i++) {

            // Add the element at the current index to the sum

            sum = sum + prices[i];

        }


        System.out.println("The total sum is: " + sum);

    }

}

Output:


The total sum is: 66.34

Tracing & Analysis

Tracing the execution of a traversal loop helps clarify how the index and other variables change over time.

Execution Trace: Calculating a Sum

Let's trace the ArraySummer example with the array double[] prices = {19.99, 24.50, 9.85};.

IterationCondition i < prices.length (3)iprices[i]sum (at end of loop body)
Before Loop(n/a)(n/a)(n/a)0.0
10 < 3 is true019.990.0 + 19.99 -> 19.99
21 < 3 is true124.5019.99 + 24.50 -> 44.49
32 < 3 is true29.8544.49 + 9.85 -> 54.34
43 < 3 is false3(n/a)Loop terminates. Final sum is 54.34.

Analysis: Avoiding Exceptions

The loop's continuation condition is critical. Using i < array.length ensures the loop stops before i becomes equal to array.length. Since array indices go from 0 to length - 1, the largest valid index is length - 1. If the condition were i <= array.length, the loop would attempt to access array[array.length] on its final iteration, which is an invalid index. This would cause the program to crash with an ArrayIndexOutOfBoundsException, a common runtime error.

Java Syntax Quick-Reference

  • for (int i = 0; i < arr.length; i++)

    • The standard syntax for a for loop that traverses an array arr from beginning to end.
  • array.length

    • An attribute (property) of an array that holds its capacity (the number of elements). It is not a method, so it has no parentheses.
  • array[index]

    • The expression used to access an element within an array. index must be an integer value from 0 to array.length - 1.

Core Code Examples & Terminology

  • Traversal: The process of systematically visiting each element in a data structure. For arrays, this is typically done sequentially from the first to the last element.

  • Index: An integer value that specifies the position of an element in an array. Array indices in Java are 0-based, meaning the first element is at index 0.

  • ArrayIndexOutOfBoundsException: A runtime error that occurs when a program attempts to access an array with an invalid index (one that is less than 0 or greater than or equal to the array's length).

  • Core Snippet 1: Standard Traversal

    
    for (int i = 0; i < data.length; i++) {
    
        // Code to process data[i] goes here
    
        System.out.println(data[i]);
    
    }
    

    This loop iterates through every element of the data array, from index 0 to the final valid index.

  • Core Snippet 2: Finding a Value

    
    int key = 42;
    
    int foundIndex = -1; // Default if not found
    
    for (int i = 0; i < nums.length; i++) {
    
        if (nums[i] == key) {
    
            foundIndex = i;
    
            break; // Exit loop once found
    
        }
    
    }
    

    This traversal searches an array nums for the first occurrence of key and stores its index.

Core Skill Check

  • Code Tracing: What is the final value of count after this Java code runs?

    int[] values = {10, 4, -2, 8, -5}; int count = 0; for (int i = 0; i < values.length; i++) { if (values[i] > 0) { count++; } }

    Answer: 3

  • Debugging: Identify the runtime error in this Java code.

    String[] names = {"Al", "Bo", "Cy"}; for (int i = 1; i <= names.length; i++) { System.out.println(names[i]); }

    Answer: An ArrayIndexOutOfBoundsException will occur because the loop attempts to access names[3], but the valid indices are 0, 1, and 2.

  • Application: Write a single line of Java code that doubles the value of the element at index j in an integer array named arr.

    Answer: arr[j] = arr[j] * 2; or arr[j] *= 2;

Common Misconceptions & Errors

  • Off-By-One Errors: Using i <= array.length in a loop condition is a frequent mistake. This will always cause an ArrayIndexOutOfBoundsException because the last iteration will try to access an index that does not exist. The condition must be i < array.length.

  • Starting at Index 1: Forgetting that arrays are 0-indexed and starting a traversal loop with int i = 1 will cause the loop to skip the first element of the array at index 0.

  • Hardcoding Array Length: Writing a loop like for (int i = 0; i < 10; i++) for an array that happens to have 10 elements is not flexible. If the array's size changes, the code will break. Always use array.length to make your code robust.

  • Accessing an Element After It's Found: When searching for an element, some algorithms may try to access the element after the loop finishes. This is only safe if you have confirmed the element was actually found; otherwise, you may be using an incorrect or uninitialized index variable.

Summary

Array traversal is a fundamental skill in programming that involves iterating through all elements of an array to inspect, modify, or perform calculations. The standard method for traversal in Java is the for loop, which uses a counter variable as an index to access each element from 0 to length - 1. Mastering this loop structure is essential for writing correct and efficient array-based algorithms. Careful attention to the loop's bounds—starting at 0 and continuing as long as the index is less than the array's length—is crucial for preventing common ArrayIndexOutOfBoundsException errors.