Runtime AtlasJava platform fieldbook
Java · Language to RuntimeView Markdown source

Operators, control flow, and methods

Control flow decides which statements execute and how often.

Operators and precedence

Parenthesize when meaning is not immediate. && and || short-circuit, so the right side may not run. & and | on booleans evaluate both sides.

Integer division truncates: 7 / 2 is 3. A compound assignment includes an implicit cast, so byte b = 1; b += 1; compiles while b = b + 1; does not without a cast.

Conditions and loops

Use if for boolean branches. Modern switch can be an expression and must produce a value on every path. Pattern matching can combine type testing and binding. Use for when iteration shape is explicit and enhanced for when walking elements. Use while for condition-driven repetition.

break exits a loop or switch. continue moves to the next loop iteration. Labels exist but often signal deeply tangled control flow.

Methods

A method signature includes its name and parameter types, not its return type. Overloading selects a method at compile time from argument types. Overriding selects instance behavior at runtime from the real object.

Java passes arguments by value. Passing an object copies the reference value. A method can mutate the referenced object, but assigning its local parameter to a new object does not change the caller's variable.

Varargs are arrays at runtime and must be the final parameter. Avoid ambiguous overloads involving varargs, boxing, and widening.

Recursion

Every recursive call consumes stack space. Define a base case and consider an iterative solution for large depth; Java does not guarantee tail-call optimization.

Feynman check

Overloading is choosing one doorway before entering. Overriding is entering a common doorway and letting the real object's room decide what happens.

Runtime AtlasIndependent study material · verify production details in official Java documentation