Course

Java Fundamentals

Pick a unit to start practicing.

Unit

Module 1. Values, Variables & Expressions

output, variables, primitive types (int/double/boolean), arithmetic (integer division, %, casting), strings and concatenation, comparisons and logic.
Start practicing
Unit

Module 2. Selection & Iteration

if/else if/else, building conditions, while and for loops, counters and accumulation, nested loops, traversing a string character by character.
Start practicing
Unit

Module 3. Methods

declaring and calling methods, parameters and arguments, return values and return types, void, variable scope, breaking a problem into methods, overloading.
Start practicing
Unit

Module 4. Classes & Objects

writing a class: fields, constructors, methods; creating objects with new, this, encapsulation (private with getters/setters), static fields and methods, toString.
Start practicing
Unit

Module 5. Arrays & Lists

one-dimensional arrays (creation, indexing, length, traversal), common algorithms (sum, max, search, count), ArrayList (add/remove/traverse), two-dimensional arrays and nested traversal.
Start practicing
Unit

Module 6. Input, Files & Error Handling

reading input with Scanner, reading from files, basic exceptions / try-catch, simple input validation.
Start practicing
Unit

Module 7. Inheritance & Polymorphism

extends and inherited methods, super, overriding with @Override, superclass references, dynamic dispatch, arrays of mixed subclasses.
Start practicing
Unit

Module 8. Interfaces & Abstract Classes

interfaces as contracts, implements, abstract classes with shared code, choosing between them, implementing several interfaces at once.
Start practicing
Unit

Module 9. Generics

why generics exist, writing Box and Pair, generic methods, bounded types (>), wildcards (? extends, ? super, PECS).
Start practicing
Unit

Module 10. Collections

HashMap (key-value pairs, safe lookup, iteration), HashSet (uniqueness, deduplication), combined patterns (frequency maps, intersection, difference).
Start practicing
Unit

Module 11. Modern Java

enums (constants with data), switch expressions (arrow labels, grouped labels, yield), lambdas and streams (filter, count, mapToInt, sum).
Start practicing