Methods and Arrays
Split programs into named methods, learn exactly how Java passes values, use recursion and arrays, and see where your data lives on the stack and heap.
Until now every program lived inside one long main. Real programs are built from small, named pieces of work called methods, and they keep lists of values in arrays. This phase teaches both from zero: how to write a method, how values travel in and out of it, how Java chooses between methods with the same name, and how a method can call itself (recursion).
It also settles the question that trips up more Java developers than any other: *is Java pass-by-value or pass-by-reference?* (Always by value. You'll see exactly why, with memory diagrams.) Then you'll meet arrays in one and two dimensions, the Arrays helper class, and the picture that ties everything together: the stack of method calls and the heap of objects.
By the end you'll read any method signature, predict what a method call does to your variables, and explain where every value in a running Java program is stored. Phase 4 (Classes and Objects) builds directly on this.