Java for Beginners - Homann Software, 6 November 2026
Requires a JDK 25 or newer. No external libraries, network, Maven or account.
Open a terminal IN this extracted directory. Ensure java and javac use the same JDK.

java --version
javac --version
java Hello.java
java Basics.java
mkdir out
javac --release 25 -d out Line.java Quote.java Checkout.java Shop.java CheckoutTest.java
java -cp out Shop
java -cp out CheckoutTest

Expected Shop output:
Subtotal: 2800 cents
Shipping: 490 cents
Total: 3290 cents

Expected final test line: 27 checks passed
Re-running compilation is safe; mkdir may say out already exists.
Source launch still compiles code internally. No preview flags are needed.
Verified with OpenJDK 27+35 using --release 25; no separate Java 25 runtime run.
The fictional policy: EUR only, non-empty basket; shipping 490 cents below
5000 cents, otherwise zero. Zero-priced lines allowed; quantities positive.
Null lines are rejected with NullPointerException by List.copyOf.
No tax calculation, payment, persistence, inventory or concurrent list mutation.
UML and BPMN files are documentation, not executable workflow integrations.
