Core Java Fundamentals: Syntax, OOP and Collections

Learn Java from syntax and the JVM to object-oriented design, collections, exceptions and file I/O. For beginners and students.

Start course →

What you'll learn

  • Explain the JDK, JVM and bytecode, and write and run Java programs.
  • Use types, strings, control flow, methods and arrays correctly.
  • Design classes with encapsulation, inheritance, polymorphism and interfaces.
  • Apply equals, hashCode, Comparable, generics, enums and collections.
  • Handle exceptions, read and write files and work with dates.

Syllabus

Module 1: Getting Started

  1. What is Java?
  2. Install the JDK
  3. Your First Program

Module 2: Language Basics

  1. Variables & Types
  2. Operators
  3. Strings
  4. Console Input

Module 3: String Handling Deep Dive

  1. Strings: Pool, Builders & Gotchas

Module 4: Wrapper Classes & Autoboxing

  1. Wrapper Classes & Autoboxing

Module 5: Control Flow

  1. Conditionals
  2. Loops

Module 6: Control Flow Extras

  1. Switch Expressions, Ternary & Labels

Module 7: Methods & Arrays

  1. Methods
  2. Arrays

Module 8: Arrays Deep Dive

  1. Multi-Dimensional Arrays, Arrays & Varargs

Module 9: Object-Oriented Programming

  1. Classes & Objects
  2. Constructors
  3. Encapsulation
  4. Inheritance
  5. Polymorphism
  6. Abstract Classes & Interfaces

Module 10: Deeper OOP

  1. Nested & Inner Classes
  2. this vs super, In Depth
  3. Composition & Immutable Classes

Module 11: The Object Contract

  1. equals() & hashCode()
  2. toString()
  3. Comparable vs Comparator

Module 12: Core Utilities

  1. Exceptions
  2. Collections
  3. Generics Basics
  4. Enums

Module 13: Exceptions Deep Dive

  1. Custom Exceptions & Multi-Catch

Module 14: Collections Deep Dive

  1. ArrayList vs LinkedList
  2. HashMap vs TreeMap vs LinkedHashMap
  3. Sets, Iterating & the Collections Class

Module 15: File I/O Basics

  1. Reading & Writing Files
  2. Dates & Times with java.time

Module 16: Annotations Basics

  1. What Are Annotations?

Module 17: Packaging & Build

  1. Packages, JARs & Build Tools