1Unit 1 · Foundational
Primitive Types and Expressions
The arithmetic layer everything else sits on. Most of this unit is one rule with wide consequences: Java decides the type of an expression before it decides the value, and integer division discards the remainder rather than rounding.
Primitive typePrecedenceInteger divisionModulusCastConcatenation
2Unit 2 · Foundational
Boolean Logic and Conditionals
Where a program starts making choices. The unit covers building boolean expressions, ordering branches so they do not overlap, and the short-circuit behavior that lets a condition guard itself against its own errors.
Boolean expressionDe Morganelse-if chainShort-circuitGuard clauseBoundary value
3Unit 3 · Heavy
Loops and Iteration
Repetition, and the accounting that makes it correct. The unit is less about loop syntax than about knowing what each variable means after one pass, which is the only reliable way to get bounds and accumulators right.
Loop boundIteration countAccumulatorCounterNested loopInfinite loop
Text as an immutable object. Two facts generate most of the unit: indexing starts at zero and stops one before the length, and no String method ever changes the String it was called on.
IndexsubstringindexOfImmutabilityTraversalOut of bounds
Fixed-size indexed storage, and the first place two variable names can refer to the same data. Aliasing is what makes array questions harder than they look.
IndexlengthEnhanced forAliasingReferenceLinear search
6Unit 6 · Heavy
ArrayList and Wrapper Classes
A resizable list of objects. The unit adds one genuinely tricky behavior: removing during a traversal shifts every later element, so the loop and the list disagree about where things are.
size()getaddremoveShiftWrapper class
7Unit 7 · Heavy
Methods, Classes, and Objects
Where the free-response section lives. The unit covers writing a method to a specification and designing a class that protects its own state, which together account for most FRQ credit.
Pass by valueReferenceReturn typeConstructorEncapsulationAccessor
8Unit 8 · Exam-weighted
2D Arrays, Algorithms, and Data
The final unit combines grid traversal, the standard search and sort algorithms with their efficiency comparison, and the data topics that close the course.
Row-majorRagged arrayBinary searchPreconditionGrowth rateScanner