CodeGym
AI Academy
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
  • String comparison: equals, equalsIgnoreCase, compareTo

    JAVA 25 SELF
    Level 9, Lesson 4
    In this lecture we will go through how to correctly compare strings in Java: how reference comparison with the == operator differs from comparing contents via equals() and equalsIgnoreCase(), what compareTo() returns and how lexicographic order works. Additionally, we will look at startsWith(), endsWith(), contains(), case-sensitive operations and splitting strings with split(), as well as discuss common pitfalls.
    Available
  • StringBuilder and StringBuffer

    JAVA 25 SELF
    Level 9, Lesson 5
    In this lecture, we will examine the immutability of strings in Java and its impact on performance, get acquainted with mutable string builders — StringBuilder and the thread-safe StringBuffer, study the basic methods (append, insert, delete, replace, reverse), typical usage scenarios, compare performance, and review common mistakes.
    Available
  • IT product model

    JAVA 25 SELF
    Level 9, Lesson 6
    In this lecture, you will learn how modern IT products are built: what they consist of, how clients and servers interact, what cloud infrastructure is, what types of servers exist, and why a modern application is not just a program but a whole ecosystem of services, clients, and smart communications.
    Available
  • Global labor market

    JAVA 25 SELF
    Level 10, Lesson 0
    In this article, you will learn what constraints exist in the local labor market, how the global market differs, what advantages it offers to professionals, and what requirements it places on candidates. The material will help you understand how to build a career in international companies and leverage globalization for professional growth.
    Available
  • Wrapper types in Java

    JAVA 25 SELF
    Level 10, Lesson 1
    Wrapper classes in Java let you work with primitives as objects: for int — Integer, for double — Double, for char — Character, for boolean — Boolean. In this lecture, we’ll cover when wrappers are needed, how autoboxing and unboxing help, why comparing wrappers with the == operator is dangerous and it’s better to use equals(), where you can hit a NullPointerException when unboxing from null, and why primitives are faster and more memory-efficient. All with examples and practical tips.
    Available
  • Type inference and constants in Java

    JAVA 25 SELF
    Level 10, Lesson 2
    In this lecture, we’ll break down type inference with var in Java: when to use it, what limitations exist, and the most common mistakes. Then we’ll move on to declaring constants with final and class-level constants with static final, discuss naming conventions, practical examples, and nuances of object immutability.
    Available
  • Classic switch: syntax, examples

    JAVA 25 SELF
    Level 10, Lesson 3
    In this lecture, we break down the classic switch statement in Java: basic syntax, key elements — switch, case, break, default — and practical examples with numbers and strings. We will look at supported types, the “fall-through” behavior without break, grouping multiple case labels, a comparison with if-else, and common mistakes.
    Available
  • Enumeration: enum

    JAVA 25 SELF
    Level 10, Lesson 4
    In this lecture, we examine enumerations in Java: what an enum is, how to declare and where to place it, how to use it together with switch, iterate values via values(), and also apply methods name(), ordinal(), valueOf(). We will look at advanced capabilities ( fields, constructors, methods), go through a practical example, and typical mistakes.
    Available
  • Advanced switch expressions

    JAVA 25 SELF
    Level 10, Lesson 5
    In this lecture we break down modern switch expressions in Java 14+: the new arrow syntax -> and the yield keyword, grouping case labels with commas, exhaustiveness checks for enum, rewriting legacy code to the new style, and common mistakes that are easy to avoid.
    Available
  • Deploying code to a server

    JAVA 25 SELF
    Level 10, Lesson 6
    In this lecture, you will learn how modern development teams deliver their code to a server: from making changes and building the project to automating with CI/CD and deploying via Docker. We’ll break down the key tools, stages, and approaches that make deployment fast, reliable, and convenient.
    Available
  • Knowledge vs Skills

    JAVA 25 SELF
    Level 11, Lesson 0
    In this article, you will learn why knowledge and skills are not the same thing, how theory differs from practice, and why it’s important not only to know but also to be able to do something useful. Real-life examples, provocative questions, and motivation for those who want to become in-demand professionals.
    Available
  • Introduction to exception handling

    JAVA 25 SELF
    Level 11, Lesson 1
    In this lecture, you'll learn what exceptions are in Java, how they differ from JVM errors, what checked and unchecked exceptions are, see a visual diagram and basic code examples (division by zero, array out of bounds, working with files). You'll understand why exceptions make code cleaner and more reliable, and how to read error messages in practice.
    Available
  • 1
  • ...
  • 4
  • 5
  • 6
  • 7
  • 8
  • ...
  • 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