CodeGym
Promotion
CodeGym University
Java FullStack
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
  • Try-catch syntax

    JAVA 25 SELF
    Level 11, Lesson 2
    In this lecture, you will learn why Java needs the try- catch construct, how it works, how to correctly catch and handle exceptions, what you can learn from an error object, and what the actual execution flow looks like when exceptions occur. At the end, we will look at common mistakes when using exception handlers and how to avoid them.
    Available
  • finally and throw: cleanup and throwing exceptions

    JAVA 25 SELF
    Level 11, Lesson 3
    In this Java lecture you will learn how to reliably release resources with the finally block, how and when to manually throw exceptions using the throw statement, how to combine try- catch- finally with rethrowing errors, and which common mistakes occur in practice and how to avoid them.
    Available
  • Propagating exceptions (throws)

    JAVA 25 SELF
    Level 11, Lesson 4
    In this lecture, we examine exception propagation in Java: when a method does not handle an error itself but passes responsibility to the calling code using the throws keyword. You will learn the syntax, how to respond to such methods (via try- catch or by rethrowing), see a complete file I/O example, and go through useful details (checked vs unchecked) and common mistakes when designing APIs.
    Available
  • Call Stack (Stack Trace)

    JAVA 25 SELF
    Level 11, Lesson 5
    In this lecture, we will break down what a stack trace is in Java, how to read it, where to look for the root of an error, how to distinguish your methods from system ones, and how to use line numbers to quickly fix bugs. With practical examples, we will see the program’s execution path up to the point of failure and go through common mistakes when working with stack traces.
    Available
  • Working with Scrum

    JAVA 25 SELF
    Level 11, Lesson 6
    In this lecture, you will learn what Scrum is—a popular Agile project management methodology in IT—how sprints, roles, and artifacts work, why you need a Scrum Board and a backlog, and why the standardization of processes helps a team work more efficiently and more calmly. Everything is explained in simple language with examples from developers’ everyday life.
    Available
  • Higher miseducation

    JAVA 25 SELF
    Level 12, Lesson 0
    In this article, we examine the myths and reality of higher education: why a diploma does not guarantee success, how the role of universities is changing in the modern world, why practice matters more than theory, and what you truly need for professional growth. This material is for those who want to learn effectively and be in-demand specialists.
    Available
  • “Infinite array” — ArrayList<T>

    JAVA 25 SELF
    Level 12, Lesson 1
    In this lecture you will get acquainted with Java’s dynamic array — ArrayList. We will examine how it differs from a regular array, how to create and populate it, and which methods help in everyday tasks: add(), get(), set(), remove(), size(), contains(). We will practice iterating over elements and write a mini‑app “To‑do list”. Learn how to use an “infinite” array without worrying about its size!
    Available
  • “Your own dictionary” — HashMap<K,V>

    JAVA 25 SELF
    Level 12, Lesson 2
    In this lecture, we’ll learn how to store and quickly look up data by key using HashMap<K,V>: we create a map, add and read pairs via put and get, check for keys with containsKey, delete entries with remove, and iterate elements via entrySet(). In practice, we’ll implement a word counter and a mini “Phonebook” app.
    Available
  • Getting started with files and images

    JAVA 25 SELF
    Level 12, Lesson 3
    A hands-on introduction to working with files in Java: use the classes Path and Files from the java.nio.file package to write and read text, work with bytes, copy images, check for existence and size, and properly handle exceptions via try- catch and throws.
    Available
  • Downloading images from the internet

    JAVA 25 SELF
    Level 12, Lesson 4
    We’ll learn to download images from the internet in Java in two ways: the quick one via URL and the advanced one via HttpClient. We’ll cover checking the response code, reading headers (for example, "Content-Type"), timeouts, redirects, batch downloads, size estimation, as well as reading an image into memory using ImageIO. Practice, nuances, and ready-to-use examples.
    Available
  • Learning to work with APIs and tracking the ISS

    JAVA 25 SELF
    Level 12, Lesson 5
    A practical introduction to working with web APIs and the JSON data format in Java. We’ll break down what an endpoint and query parameters are, look at real service responses, write a simple snippet with HttpClient to get the weather and the current coordinates of the ISS, and also discuss response statuses ( 200, 404, 401, 429) and rate limits.
    Available
  • Writing code: what a programmer’s workday looks like

    JAVA 25 SELF
    Level 12, Lesson 6
    In this lecture, you’ll learn what a developer’s typical day looks like: from picking a task in JIRA to writing code, working with Git, and collaborating with the team. We’ll break down how processes are set up in a modern IT company, why it’s important not to stay silent about difficulties, and how to communicate properly with your team lead and managers.
    Available
  • 1
  • ...
  • 5
  • 6
  • 7
  • 8
  • 9
  • ...
  • 30
Learn
  • Registration
  • Java Course
  • Help with Tasks
  • Pricing
  • Game Projects
  • 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