30% OFF - Use code HANDSON30 for 30% off any course or Dometrain Pro! Browse courses →
  • Courses
  • Learning Paths
  • Blogs
  • Authors
  • Leaderboard
  • Dometrain Pro
  • Shopping Basket

    Your basket is empty

  • Business Portal
  • Hands-On: Learn Java

    Learn Java from scratch by completing practical exercises and writing real Java code.

    About This Course

    Becoming proficient in Java requires more than just studying theory. You need to apply your knowledge by coding real projects and solving coding problems as you go. Our in-depth Java course, nearly 30 hours long, features a rich, interactive learning experience offering practical exercises using Dometrain's online Code Editor. You’ll start by learning the basic syntax and steadily advance to core topics such as object-oriented design, error handling, the Java Collections Framework, and the development of scalable, production-level software. No prior Java experience is necessary; if you have a basic grasp of programming, you’re ready to begin. Dometrain is dedicated to helping developers build tangible, career-ready skills from scratch. Take advantage of a 14-day free trial to explore the course and see if it fits your needs. Whether you’re starting your Java journey or hoping to deepen your skills, you’ll learn the most up-to-date techniques and industry-proven practices.

    Course Curriculum

    28h 39m 44 sections
    Your First Java Program
    05:00
    Comments
    05:00
    Printing Multiple Lines
    05:00
    Print vs Println
    05:00
    Chapter Capstone - Formatted Greeting
    10:00
    Declaring int Variables
    05:00
    Floating-Point Numbers
    05:00
    Booleans
    05:00
    Characters
    05:00
    Other Integer Types
    05:00
    Chapter Capstone - Primitive Type Showcase
    10:00
    Arithmetic Operators
    05:00
    Integer vs Floating-Point Division
    05:00
    Compound Assignment Operators
    05:00
    Comparison Operators
    05:00
    Logical Operators
    05:00
    The Ternary Operator
    05:00
    Chapter Capstone - Expression Evaluator
    10:00
    Implicit (Widening) Casting
    05:00
    Explicit (Narrowing) Casting
    05:00
    String to Number Conversion
    05:00
    Number to String Conversion
    05:00
    Local Variable Type Inference with var
    05:00
    Chapter Capstone - Type Conversion Pipeline
    10:00
    The if Statement
    05:00
    if-else
    05:00
    else-if Chains
    05:00
    Nested Conditionals
    05:00
    Chapter Capstone - Grade Calculator
    10:00
    Basic Switch Statement
    05:00
    Switch with Multiple Cases
    05:00
    Switch Expressions (Arrow Syntax)
    05:00
    Switch Expressions with Yield
    05:00
    Chapter Capstone - Day Classifier
    10:00
    The while Loop
    05:00
    Loop Counters and Accumulators
    05:00
    The do-while Loop
    05:00
    Chapter Capstone - Number Cruncher
    10:00
    The for Loop
    05:00
    Nested Loops
    05:00
    Break and Continue
    05:00
    Chapter Capstone - Pattern Generator
    10:00
    Creating Strings
    05:00
    String Concatenation
    05:00
    String Length and Character Access
    05:00
    String Comparison
    05:00
    Searching in Strings
    05:00
    Extracting Substrings
    05:00
    Modifying Strings
    05:00
    Splitting and Joining
    05:00
    Chapter Capstone - String Analyzer
    10:00
    Why StringBuilder
    05:00
    StringBuilder Methods
    05:00
    String.format
    05:00
    Chapter Capstone - Dynamic Report Builder
    10:00
    Creating and Initializing Arrays
    05:00
    Accessing and Modifying Elements
    05:00
    Iterating Over Arrays
    05:00
    Array Length and Bounds
    05:00
    Chapter Capstone - Array Statistics Calculator
    10:00
    Linear Search
    05:00
    Finding Min and Max
    05:00
    Reversing an Array
    05:00
    Counting and Filtering
    05:00
    Chapter Capstone - Array Toolkit
    10:00
    Two-Dimensional Arrays
    05:00
    Iterating Over 2D Arrays
    05:00
    Jagged Arrays
    05:00
    Chapter Capstone - Matrix Operations
    10:00
    Your First Method
    05:00
    Parameters and Arguments
    05:00
    Return Values
    05:00
    Multiple Parameters
    05:00
    Chapter Capstone - Math Utility Methods
    10:00
    Method Overloading
    05:00
    Variable Arguments (Varargs)
    05:00
    Variable Scope
    05:00
    Chapter Capstone - Flexible Calculator
    10:00
    Understanding Recursion
    05:00
    Factorial and Fibonacci
    05:00
    Recursion with Strings
    05:00
    Recursion with Arrays
    05:00
    Chapter Capstone - Recursive Problem Solver
    10:00
    Defining a Class
    05:00
    Creating Objects
    05:00
    Instance Methods
    05:00
    The this Keyword
    10:00
    Chapter Capstone - Building a Product Class
    10:00
    Default and Custom Constructors
    05:00
    Constructor Overloading
    05:00
    Constructor Chaining with this()
    10:00
    Chapter Capstone - Flexible Object Creation
    12:00
    Access Modifiers
    05:00
    Getters and Setters
    05:00
    Validation in Setters
    05:00
    Chapter Capstone - Encapsulated Bank Account
    10:00
    Static Fields
    05:00
    Static Methods
    05:00
    The final Keyword
    10:00
    Constants with static final
    10:00
    Chapter Capstone - Counter and Utility Class
    10:00
    Extending a Class
    10:00
    Inherited Fields and Methods
    10:00
    The super Keyword
    10:00
    Constructor Chaining with super()
    10:00
    Chapter Capstone - Vehicle Class Hierarchy
    12:00
    Method Overriding
    10:00
    The @Override Annotation
    10:00
    Runtime Polymorphism
    10:00
    Type Checking with instanceof
    10:00
    Chapter Capstone - Polymorphic Shapes
    12:00
    Abstract Classes
    10:00
    Abstract Methods
    10:00
    Concrete Methods in Abstract Classes
    05:00
    Chapter Capstone - Abstract Shape Calculator
    12:00
    Defining and Implementing Interfaces
    10:00
    Multiple Interface Implementation
    10:00
    Default Methods
    10:00
    Static Methods in Interfaces
    10:00
    Chapter Capstone - Interface-Based Design
    15:00
    toString() Override
    10:00
    equals() Override
    10:00
    hashCode() Override
    10:00
    Chapter Capstone - Complete Object Implementation
    15:00
    Try and Catch
    05:00
    Multiple Catch Blocks
    05:00
    Finally Block
    10:00
    Checked vs Unchecked Exceptions
    05:00
    Creating Custom Exceptions
    10:00
    Try-with-Resources
    05:00
    Chapter Capstone - Robust Input Validator
    10:00
    Defining Enums
    05:00
    Enum with Fields and Methods
    10:00
    Enum with Constructor
    10:00
    Chapter Capstone - Enum Calculator
    12:00
    Wrapper Classes
    05:00
    Autoboxing and Unboxing
    05:00
    Useful Wrapper Methods
    05:00
    Chapter Capstone - Type Safe Converter
    15:00
    Creating an ArrayList
    05:00
    Adding, Accessing, and Modifying
    10:00
    Removing and Searching
    05:00
    LinkedList Basics
    10:00
    The List Interface
    10:00
    Chapter Capstone - Dynamic List Manager
    12:00
    Creating a HashMap
    10:00
    Adding and Accessing Entries
    10:00
    Checking and Removing
    10:00
    Iterating Over Maps
    10:00
    Chapter Capstone - Word Frequency Counter
    12:00
    Creating a HashSet
    05:00
    Set Operations
    05:00
    Set Theory Operations
    10:00
    LinkedHashSet
    05:00
    Chapter Capstone - Unique Element Processor
    15:00
    TreeMap
    05:00
    TreeSet
    10:00
    The Comparable Interface
    10:00
    The Comparator Interface
    15:00
    Chapter Capstone - Sorted Leaderboard
    15:00
    Iterator and ListIterator
    10:00
    Sorting with Collections.sort
    05:00
    Other Collections Utilities
    10:00
    Unmodifiable Collections
    15:00
    Chapter Capstone - Collection Toolkit
    15:00
    Generic Classes
    10:00
    Generic Methods
    10:00
    Bounded Type Parameters
    10:00
    Wildcards
    10:00
    Chapter Capstone - Generic Data Container
    15:00
    Introduction to Lambdas
    10:00
    Lambda Syntax Variations
    10:00
    Lambdas with Collections
    10:00
    Chapter Capstone - Lambda Powered List Processor
    15:00
    Predicate
    12:00
    Function and BiFunction
    12:00
    Consumer and Supplier
    12:00
    Method References
    10:00
    Chapter Capstone - Functional Pipeline
    12:00
    Creating Streams
    10:00
    Filtering and Mapping
    10:00
    Reducing and Collecting
    10:00
    Chapter Capstone - Stream Data Processor
    15:00
    FlatMap and Distinct
    05:00
    Grouping and Partitioning
    12:00
    Optional Basics
    05:00
    Optional Chaining
    10:00
    Chapter Capstone - Advanced Data Pipeline
    15:00
    Static Nested Classes
    10:00
    Inner Classes
    10:00
    Anonymous Classes
    10:00
    Chapter Capstone - Event Handler Pattern
    15:00
    Defining Records
    05:00
    Custom Record Methods
    10:00
    Record Validation
    12:00
    Chapter Capstone - Data Modeling with Records
    12:00
    Sealed Classes and Interfaces
    11:00
    Pattern Matching with instanceof
    10:00
    Chapter Capstone - Type-Safe Expression Evaluator
    15:00
    Text Blocks
    05:00
    Useful String Additions
    05:00
    Chapter Capstone - Template Builder
    10:00
    Basic Pattern Matching
    05:00
    Character Classes and Quantifiers
    05:00
    Groups and Capturing
    10:00
    Common Regex Patterns
    10:00
    Chapter Capstone - Text Validator
    15:00
    LocalDate
    10:00
    LocalTime and LocalDateTime
    05:00
    Period and Duration
    05:00
    Formatting with DateTimeFormatter
    10:00
    Chapter Capstone - Date Calculator
    15:00

    Meet Your Instructor

    Nick Chapsas

    Nick Chapsas

    Nick Chapsas is a .NET & C# content creator, educator and a Microsoft MVP for Developer Technologies with years of experience in Software Engineering and Engineering Management.

    He has worked for some of the biggest companies in the world, building systems that served millions of users and tens of thousands of requests per second.

    Nick creates free content on YouTube and is the host of the Keep Coding Podcast.

    View all courses by Nick Chapsas

    What's New

    Getting Started: Model Context Protocol (MCP)
    course

    Getting Started: Model Context Protocol (MCP)

    Learn how to get started with the Model Context Protocol (MCP) and integrate it into your applications.

    Learn more about Getting Started: Model Context Protocol (MCP)
    Hands-On: Learn TypeScript
    course

    Hands-On: Learn TypeScript

    Learn TypeScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

    Learn more about Hands-On: Learn TypeScript
    Hands-On: Learn JavaScript
    course

    Hands-On: Learn JavaScript

    Learn JavaScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

    Learn more about Hands-On: Learn JavaScript
    Hands-On: Data Structures & Algorithms in C#
    course

    Hands-On: Data Structures & Algorithms in C#

    Master data structures and algorithms through hands-on coding exercises in C#. Free to enroll for 7 days!

    Learn more about Hands-On: Data Structures & Algorithms in C#
    Blogsmith.ai
    feature

    Blogsmith.ai

    Turn your videos into blogs and newsletters with AI. Check out our new product at blogsmith.ai.

    Learn more about Blogsmith.ai
    Leaderboard
    feature

    Leaderboard

    See how you stack up against other learners. Track your progress, climb the ranks, and compete with the Dometrain community.

    Learn more about Leaderboard
    Hands-On: Learn PostgreSQL
    course

    Hands-On: Learn PostgreSQL

    Learn PostgreSQL through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

    Learn more about Hands-On: Learn PostgreSQL
    Free Hands-On: C# for Beginners
    course

    Free Hands-On: C# for Beginners

    Learn C# through hands-on coding exercises. Practice what you learn with interactive challenges designed for everyone, from beginners to experts.

    Learn more about Free Hands-On: C# for Beginners
    Getting Started: AI for .NET Developers
    course

    Getting Started: AI for .NET Developers

    Get started with integrating AI into your .NET applications effectively using the latest LLM best practices.

    Learn more about Getting Started: AI for .NET Developers
    Getting Started: Building .NET Applications on AWS
    course

    Getting Started: Building .NET Applications on AWS

    Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

    Learn more about Getting Started: Building .NET Applications on AWS
    What's new in C# 14
    blog

    What's new in C# 14

    This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

    Learn more about What's new in C# 14
    Let's Build It: AI Chatbot with RAG in .NET Using Your Data
    course

    Let's Build It: AI Chatbot with RAG in .NET Using Your Data

    Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

    Learn more about Let's Build It: AI Chatbot with RAG in .NET Using Your Data
    From Zero to Hero: SignalR in .NET
    course

    From Zero to Hero: SignalR in .NET

    Enable enterprise-grade real-time communication for your web apps with SignalR.

    Learn more about From Zero to Hero: SignalR in .NET
    Deep Dive: Solution Architecture
    course

    Deep Dive: Solution Architecture

    Master solution architecture and turn business needs into scalable, maintainable systems.

    Learn more about Deep Dive: Solution Architecture
    Migrating: ASP.NET Web APIs to ASP.NET Core
    course

    Migrating: ASP.NET Web APIs to ASP.NET Core

    A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

    Learn more about Migrating: ASP.NET Web APIs to ASP.NET Core
    Getting Started: Caching in .NET
    course

    Getting Started: Caching in .NET

    Let's make the hardest thing in programming easy for .NET software engineers.

    Learn more about Getting Started: Caching in .NET
    From Zero to Hero: Testing with xUnit in C#
    course

    From Zero to Hero: Testing with xUnit in C#

    Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

    Learn more about From Zero to Hero: Testing with xUnit in C#
    Create a ChatGPT Console AI Chatbot in C#
    blog

    Create a ChatGPT Console AI Chatbot in C#

    This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

    Learn more about Create a ChatGPT Console AI Chatbot in C#