CodeGym
Promotion
CodeGym University
Learning
Courses
Tasks
Surveys & Quizzes
Games
Help
Schedule
Community
Users
Forum
Chat
Articles
Success stories
Activity
Reviews
Subscriptions
Light theme

Lessons

  • Reviews
  • About us
Start
Start learning
Start learning now
  • My Progress
  • Courses
  • University
  • Quest Map
  • Lessons
  • The Programmer’s Path

    JAVA 25 SELF
    Level 13, Lesson 0
    In this lecture, you will learn how a programmer’s career is built: from the first steps to the Senior level, what salaries are common in the industry, how to choose a development path, what career branches exist, and why programmers are often happy and in demand. The material will help you understand how to plan your professional growth and what you can realistically achieve in 5 years in IT.
    Available
  • Overview of the java.time API and differences from the legacy APIs

    JAVA 25 SELF
    Level 13, Lesson 1
    In this lecture, you will examine the problems of the old date and time APIs in Java ( java.util.Date, java.util.Calendar, java.text.SimpleDateFormat) and get acquainted with the modern, safe, and convenient java.time API (JSR‑310). You will understand the key advantages of immutable types, explicit time‑zone handling, formatting via DateTimeFormatter, and also learn how to convert between the new and legacy code. In the end, we will consider common mistakes and how to avoid them.
    Available
  • LocalDate, LocalTime, LocalDateTime

    JAVA 25 SELF
    Level 13, Lesson 2
    We break down the basic classes of the java.time package: LocalDate (date), LocalTime (time), and LocalDateTime (date+time). In practice, we’ll look at creating objects (current values and factory methods), parsing ISO strings, extracting components, add/subtract operations, comparison, as well as common mistakes and how to avoid them.
    Available
  • ZonedDateTime, Instant, working with time zones

    JAVA 25 SELF
    Level 13, Lesson 3
    In this lecture we cover working with time and time zones in the Java 8+ API: what ZonedDateTime and Instant are, how to create a date/time in the required zone ( ZoneId), convert the same event between time zones via withZoneSameInstant(), obtain the absolute moment in UTC, and what pitfalls to expect during daylight saving time transitions. At the end — practical examples and common mistakes.
    Available
  • Date formatting and parsing: DateTimeFormatter

    JAVA 25 SELF
    Level 13, Lesson 4
    A practical guide to working with date and time in Java using the DateTimeFormatter class: standard ISO formats, custom patterns ofPattern, formatting and parsing, DateTimeParseException handling, and localized output (months and days of the week in the desired language).
    Available
  • Date calculations and comparison, Duration, Period

    JAVA 25 SELF
    Level 13, Lesson 5
    In this lecture we explore working with time in Java: how to add and subtract intervals in LocalDate, LocalTime, LocalDateTime and ZonedDateTime, how to find differences with Period and Duration, compare dates using isBefore(), isAfter(), isEqual(), and also count exact units via ChronoUnit.DAYS.between(). We will discuss nuances of Instant and time zones and go over common mistakes.
    Available
  • Alternative Reality: The New Gold Rush for AI Talent

    JAVA 25 SELF
    Level 13, Lesson 6
    In this article, you’ll learn how artificial intelligence has reshaped the IT job market: why the largest corporations are fighting for AI talent, what sums are being offered to top specialists, how the role of universities and open source is changing, and what it all means for everyday developers. Welcome to a new era where brains are the most valuable currency!
    Available
  • IDEA Lifehacks for Java

    JAVA 25 SELF
    Level 14, Lesson 0
    Autocomplete, templates, and refactoring. Learn how to write code at the speed of thought using Tab, Live Templates (psvm, sout), Postfix Completion, and formatting hotkeys.
    Available
  • The concept of a class and an object

    JAVA 25 SELF
    Level 14, Lesson 1
    In this lecture we’ll break down what a class and an object are in Java: a class as a “blueprint” and an object as an instance. We’ll learn to declare classes with the keyword class, add fields and methods, create objects using new, call methods like sayHello(), and use our own types ( Person, BankAccount) in code, including running via the main method.
    Available
  • Class structure: fields, methods, constructors

    JAVA 25 SELF
    Level 14, Lesson 2
    In this lecture we break down what a Java class consists of: fields (state), methods (behavior), and constructors (initialization). We’ll talk about access modifiers public/ private, the this keyword, the default constructor, and also how to create objects with new, call methods like sayHello(), and avoid errors such as NullPointerException. Using the Person and User classes, we’ll see the full chain “fields → methods → constructors”.
    Available
  • Creating objects with new

    JAVA 25 SELF
    Level 14, Lesson 3
    In this lecture you will learn how to create objects in Java using the new keyword, how a constructor works, what is stored in a reference-type variable, and why trying to use null as an object leads to a NullPointerException. Using the Person class as examples, we will look at the syntax new Person(), method calls (for example, sayHello()), and common mistakes when creating instances.
    Available
  • Constructor overloading

    JAVA 25 SELF
    Level 14, Lesson 4
    In this lecture, we’ll examine constructor overloading in Java: why declare multiple constructors in one class ( Person, Account), how the compiler selects the right one by signature, and how to call one constructor from another via this(...) to eliminate duplication. We’ll show examples of creating objects with new, initialization options (owner, balance, currency), and cover common mistakes: missing no-arg constructor, parameter confusion, and this(...) call loops.
    Available
  • 1
  • ...
  • 6
  • 7
  • 8
  • 9
  • 10
  • ...
  • 30
Learn
  • Registration
  • Java Course
  • Help with Tasks
  • Pricing
  • Java Syntax
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success Stories
  • Activity
  • Affiliate Program
Company
  • About us
  • Contacts
  • Reviews
  • Press Room
  • CodeGym for EDU
  • FAQ
  • Support
CodeGym CodeGym is an online course for learning Java programming from scratch. This course is a perfect way to master Java for beginners. It contains 1200+ tasks with instant verification and an essential scope of Java fundamentals theory. To help you succeed in education, we’ve implemented a set of motivational features: quizzes, coding projects, content about efficient learning, and a Java developer’s career.
Follow us
Interface language
English
Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
Programmers Are Made, Not Born © 2026 CodeGym
MastercardVisa
Programmers Are Made, Not Born © 2026 CodeGym