Java
Writing Java that compiles, runs, and models a problem with objects.
The Language
Enough Java to write a program that runs and does what you meant.
How a Java program runs: what javac produces, what the java command and the JVM do with it, and why one build runs on every machine.
Beginner to Intermediate6 cards · 5 qnot started
Java variables and types: primitives and references, what assignment copies, the eight primitive types, money, and what the compiler checks.
Beginner to Intermediate9 cards · 5 qnot started
Java operators: how operand types choose what a symbol does, identity versus equality, short-circuiting, precedence and increments.
Beginner to Intermediate9 cards · 5 qnot started
Choosing which code runs with if and switch, repeating it with Java's four loop forms, and the boundary mistakes in both.
Beginner to Intermediate9 cards · 5 qnot started
Java methods: declaring and calling them, signatures, parameters and arguments, pass-by-value, and overloading.
Beginner to Intermediate10 cards · 6 qnot started
Java arrays: a fixed run of values under one name, creating and filling one, zero-based indexes, and why an array cannot grow.
Beginner to Intermediate8 cards · 5 qnot started
Java strings: immutability, why String methods return new strings, the string pool, equals against ==, and building text with StringBuilder.
Beginner to Intermediate9 cards · 5 qnot started
Objects
Modelling a problem as types that hold their own data and behaviour.
Java classes and objects: classes as descriptions, creating objects with new, constructors, this, and static against instance members.
Beginner to Intermediate9 cards · 6 qnot started
Java inheritance: what extends gives a subclass, constructor order, overriding against overloading, super, private fields and final.
Intermediate to Advanced10 cards · 5 qnot started
Java polymorphism: how the runtime object chooses which overridden method runs, what the declared type decides, hiding, casts and instanceof.
Intermediate to Advanced9 cards · 5 qnot started
Java interfaces and abstract classes: naming a capability, sharing state, default methods, and choosing between the two.
Intermediate to Advanced8 cards · 5 qnot started
Java encapsulation: private fields, the four access levels, references that leak through getters and constructors, and composition against inheritance.
Intermediate to Advanced8 cards · 5 qnot started
When Things Go Wrong
Exceptions, memory, and the contract every object is held to.
Java exceptions: try, catch and finally, checked and unchecked exceptions, catching, declaring and wrapping, and try-with-resources.
Beginner to Advanced10 cards · 6 qnot started
Java memory: the stack and the heap, what keeps an object alive for the garbage collector, the two memory errors, and leaks.
Intermediate to Advanced9 cards · 5 qnot started
Java equals, hashCode and toString: the defaults every object inherits, the contract between equals and hashCode, and how hash maps lose keys.
Intermediate to Advanced8 cards · 6 qnot started