Skip to main content
Ctrl+K
Java Programming - Home Java Programming - Home

Front Matter

  • Title Page
  • Contents
  • Chapter Topics
  • Preface

Part I. Foundations

  • Part I. Foundations
  • 1. Introduction to Java
    • 1.1.1. Getting Started with Java
    • 1.1.2. Types and Variables
    • 1.1.3. User Input and String Basics
    • 1.1.4. Chapter Exercise
    • 1.1.5. Preview\n\n
    • 1.1.6. Homework\n\n
    • 1.1.7. Lab\n\n
  • 2. Variables and Data Types
    • 2.1.1. Primitive Types in Depth
    • 2.1.2. Operators and Expressions
    • 2.1.3. Constants, Scope, and Math
    • 2.1.4. Chapter Exercise
    • 2.1.5. Preview\n\n
    • 2.1.6. Homework\n\n
    • 2.1.7. Lab\n\n
  • 3. Strings
    • 3.1.1. String Basics
    • 3.1.2. String Methods and Parsing
    • 3.1.3. StringBuilder and Immutability
    • 3.1.4. Chapter Exercise
    • 3.1.5. Preview\n\n
    • 3.1.6. Homework\n\n
    • 3.1.7. Lab\n\n
  • 4. Control Flow
    • 4.1.1. Conditionals
    • 4.1.2. Loops
    • 4.1.3. Nested Loops and Patterns
    • 4.1.4. Chapter Exercise
    • 4.1.5. Preview\n\n
    • 4.1.6. Homework\n\n
    • 4.1.7. Lab\n\n
  • 5. Methods
    • 5.1.1. Defining and Calling Methods
    • 5.1.2. Overloading and Scope
    • 5.1.3. Recursion
    • 5.1.4. Chapter Exercise
    • 5.1.5. Preview\n\n
    • 5.1.6. Homework\n\n
    • 5.1.7. Lab\n\n

Part II. Object-Oriented Programming

  • Part II. Object-Oriented Programming
  • 6. Classes and Objects
    • 6.1.1. Class Design
    • 6.1.2. Encapsulation and Static Members
    • 6.1.3. Records and Class Design Patterns
    • 6.1.4. Chapter Exercise
    • 6.1.5. Preview\n\n
    • 6.1.6. Homework\n\n
    • 6.1.7. Lab\n\n
  • 7. Inheritance
    • 7.1.1. Inheritance Basics
    • 7.1.2. Polymorphism
    • 7.1.3. Abstract Classes
    • 7.1.4. Chapter Exercise
    • 7.1.5. Preview\n\n
    • 7.1.6. Homework\n\n
    • 7.1.7. Lab\n\n
  • 8. Interfaces and Abstraction
    • 8.1.1. Interfaces
    • 8.1.2. Functional Interfaces and Lambdas
    • 8.1.3. Design Patterns Introduction
    • 8.1.4. Chapter Exercise
    • 8.1.5. Preview\n\n
    • 8.1.6. Homework\n\n
    • 8.1.7. Lab\n\n

Part III. Data Structures

  • Part III. Data Structures
  • 9. Arrays
    • 9.1.1. One-Dimensional Arrays
    • 9.1.2. Two-Dimensional Arrays
    • 9.1.3. ArrayList
    • 9.1.4. Chapter Exercise
    • 9.1.5. Preview\n\n
    • 9.1.6. Homework\n\n
    • 9.1.7. Lab\n\n
  • 10. Collections
    • 10.1.1. List Types: ArrayList vs LinkedList
    • 10.1.2. Map and Set
    • 10.1.3. Streams and Generics
    • 10.1.4. Chapter Exercise
    • 10.1.5. Preview\n\n
    • 10.1.6. Homework\n\n
    • 10.1.7. Lab\n\n

Part IV. Applied Java

  • Part IV. Applied Java
  • 11. Exceptions and Testing
    • 11.1.1. Exception Handling
    • 11.1.2. Custom Exceptions
    • 11.1.3. Unit Testing with JUnit
    • 11.1.4. Chapter Exercise
    • 11.1.5. Preview\n\n
    • 11.1.6. Homework\n\n
    • 11.1.7. Lab\n\n
  • 12. Files and I/O
    • 12.1.1. Reading Files
    • 12.1.2. Writing Files
    • 12.1.3. NIO.2, Paths, and Packaging
    • 12.1.4. Chapter Exercise
    • 12.1.5. Preview\n\n
    • 12.1.6. Homework\n\n
    • 12.1.7. Lab\n\n
  • 13. GUI Programming
    • 13.1.1. Swing Basics
    • 13.1.2. Event Handling
    • 13.1.3. MVC Pattern in GUI
    • 13.1.4. Chapter Exercise
    • 13.1.5. Preview\n\n
    • 13.1.6. Homework\n\n
    • 13.1.7. Lab\n\n

Appendices

  • 1. Midterm Project: Console OOP Application
  • 2. Final Project: GUI or Web Application
    • 2.5. JavaFX Setup Guide
    • 2.6. Javalin Setup Guide
  • 3. Java Quick Reference

Bibliography

  • Bibliography

Index

  • Index

Index

A | C | E | F | G | I | M | S | V

A

  • Arrays

C

  • Classes and Objects
  • Collections
  • Control Flow

E

  • Exceptions and Testing

F

  • Files and I/O

G

  • GUI Programming

I

  • Inheritance
  • Interfaces and Abstraction
  • Introduction to Java

M

  • Methods

S

  • Strings

V

  • Variables and Data Types

By Tsangyao Chen

© Copyright 2026.