Изучайте Java
Бесплатный интерактивный онлайн-курс Java. Вы пишете Java в каждом уроке, с подсказками ИИ, когда что-то не компилируется, и бесплатным сертификатом по завершении.
231,926+ codders записались
219 уроков198 задачи1,464 вопросов квиза
- Для начинающих
Помощь ИИ при написании кода
Практические интерактивные уроки
Аудио-озвучка к каждому уроку
Тесты для проверки знаний
Бесплатный сертификат о прохождении
Программа
Раздел 1
Основы
Начать разделНачатьРазвернутьСвернутьСоздайте прочную основу с основными понятиями и базовыми навыкамиIntroduction
4 уроков424- 01JavaЗадача
- 02Hello World!ЗадачаКвиз
- 03CommentsЗадачаКвиз
- 04Basic Program StructureЗадачаКвиз
Variables Part 1
5 уроков940- 01NumbersЗадачаМастерствоКвиз
- 02StringЗадачаМастерствоКвиз
- 03BooleanЗадачаМастерствоКвиз
- 04charЗадачаМастерствоКвиз
- 05Type DeclarationЗадачаКвиз
Variables Part 2
5 уроков333- 01ConstantsЗадачаКвиз
- 02Naming ConventionsКвиз
- 03Recap - Initialize VariablesЗадача
- 04Type Casting Part 1ЗадачаКвиз
- 05Type Casting Part 2Квиз
Operators Part 1
7 уроков956- 01Arithmetic OperatorsЗадачаМастерствоКвиз
- 02Modulo OperatorЗадачаМастерствоКвиз
- 03Increment/DecrementЗадачаМастерствоКвиз
- 04Post Increment/DecrementМастерствоКвиз
- 05Arithmetic ShortcutsЗадачаКвиз
- 06Comparison OperatorsЗадачаКвиз
- 07String ComparisonКвиз
Operators Part 2
5 уроков834- 01Logical Operators Part 1ЗадачаМастерствоКвиз
- 02Logical Operators Part 2ЗадачаМастерствоКвиз
- 03Recap - Simple LogicЗадача
- 04Logical Operators Part 3ЗадачаКвиз
- 05Logical Operators Part 4ЗадачаМастерствоКвиз
Decision Making
6 уроков1038- 01If StatementЗадачаМастерствоКвиз
- 02If - ElseЗадачаМастерствоКвиз
- 03Switch StatementЗадачаМастерствоКвиз
- 04Ternary OperatorЗадачаМастерствоКвиз
- 05Recap - If ElseЗадача
- 06Nested If - ElseЗадачаКвиз
Basic IO
5 уроков723- 01System.out MethodsЗадачаМастерствоКвиз
- 02Formatting OutputЗадачаМастерствоКвиз
- 03Scanner ClassЗадачаКвиз
- 04Recap - Till 120Задача
- 05Recap - True or FalseЗадача
Calculator App
Проект4 уроков1- 01Welcome MessageЗадача
- 02Getting NumbersПроект
- 03Basic OperationsПроект
- 04Formatted OutputПроект
Loops
9 уроков1362- 01For Loop Part 1ЗадачаМастерствоКвиз
- 02While LoopЗадачаМастерствоКвиз
- 03Do While LoopЗадачаМастерствоКвиз
- 04BreakЗадачаМастерствоКвиз
- 05ContinueЗадачаМастерствоКвиз
- 06For Loop Part 2Квиз
- 07Nested LoopЗадачаМастерствоКвиз
- 08Infinite LoopКвиз
- 09Recap - Dynamic InputЗадача
Methods (Functions)
7 уроков843- 01Declaring MethodsЗадачаМастерствоКвиз
- 02Method ParametersЗадачаКвиз
- 03Return TypesЗадачаКвиз
- 04Method OverloadingМастерствоКвиз
- 05Recap - Sigma FunctionЗадача
- 06Recap - Validation FunctionЗадача
- 07Void MethodsЗадачаКвиз
Arrays Basics
6 уроков929- 01Declaring ArraysЗадачаКвиз
- 02Accessing ElementsЗадачаКвиз
- 03Modifying ArraysЗадачаМастерствоКвиз
- 04Array MethodsЗадачаМастерствоКвиз
- 05Recap - Product ArrayЗадачаМастерство
- 06Recap - Reversed ArrayЗадача
Iterating Over Arrays
3 уроков423- 01Using For LoopЗадачаКвиз
- 02Enhanced For LoopЗадачаКвиз
- 03Common Array OperationsЗадачаМастерствоКвиз
String Operations
4 уроков832- 01String Methods Part 1ЗадачаМастерствоКвиз
- 02String Methods Part 2ЗадачаМастерствоКвиз
- 03String FormattingЗадачаМастерствоКвиз
- 04String ComparisonЗадачаМастерствоКвиз
Final Challenges
3 уроков38- 01Number PatternЗадачаКвиз
- 02Pattern FinderЗадача
- 03Student Grade CalculatorЗадача
Раздел 2
Логика и управление потоком
Начать разделНачатьРазвернутьСвернутьОсвойте продвинутое программирование на Java с акцентом на структуры данных и управление потоком. Научитесь работать со сложными массивами, коллекциями, обработкой ошибок и управлением временем.Многомерные массивы
9 уроков1457- 01Основы 2D-массивовЗадачаКвиз
- 02Доступ к элементам 2D-массиваЗадачаКвиз
- 03Вложенные циклы с 2D-массивамиЗадачаМастерствоКвиз
- 04Повторение - 2D-массивыЗадача
- 05Сложение и вычитание матрицЗадачаМастерствоКвиз
- 06Рваные массивыЗадачаМастерствоКвиз
- 073D-массивы и вышеЗадачаМастерствоКвиз
- 08Распространённые паттерны 2D-массивовЗадачаМастерствоКвиз
- 09Повторение - всё о массивахЗадача
HashMap Часть 1
6 уроков637- 01Что такое HashMap?Квиз
- 02Объявление HashMapЗадачаКвиз
- 03Доступ к значениямЗадачаКвиз
- 04Проверка существования ключаЗадачаМастерствоКвиз
- 05Изменение словарейЗадачаКвиз
- 06Итоги - HashMapЗадача
HashMap. Часть 2
6 уроков1030- 01Методы HashMapЗадачаМастерствоКвиз
- 02Итерация с keySet()ЗадачаМастерствоКвиз
- 03Итерация с entrySet()ЗадачаМастерствоКвиз
- 04Вложенный HashMapЗадачаМастерствоКвиз
- 05Повторение - Управление складомЗадача
- 06Повторение - Операции HashMapЗадача
HashSet Часть 1
7 уроков844- 01Что такое HashSet?Квиз
- 02Добавление элементаЗадачаКвиз
- 03Удаление элементаЗадачаКвиз
- 04Проверка наличия элементаЗадачаМастерствоКвиз
- 05Пустота и размерЗадачаМастерствоКвиз
- 06Очистка и клонированиеЗадачаКвиз
- 07Повторение - HashSetЗадача
HashSet Часть 2
6 уроков1146- 01Математика - Объединение HashSetsЗадачаМастерствоКвиз
- 02Математика - Пересечение HashSetЗадачаМастерствоКвиз
- 03Математика - Разность множествЗадачаМастерствоКвиз
- 04Математика - Симметрическая разностьЗадачаКвиз
- 05Подмножества и надмножестваЗадачаМастерствоКвиз
- 06Итерация по множествамЗадачаМастерствоКвиз
Продвинутое управление потоком
5 уроков929- 01Операторы метокЗадачаМастерствоКвиз
- 02Выражение switchЗадачаМастерствоКвиз
- 03Сопоставление шаблоновЗадачаМастерствоКвиз
- 04Охранные клаузыЗадачаМастерствоКвиз
- 05Итоги - управление потокомЗадача
Базовая обработка ошибок
4 уроков630- 01Основы try-catchЗадачаМастерствоКвиз
- 02Блок finallyЗадачаКвиз
- 03Бросание исключенийЗадачаМастерствоКвиз
- 04Пользовательские исключенияЗадачаКвиз
Продвинутые операции со строками
6 уроков1145- 01Основы StringBuilderЗадачаМастерствоКвиз
- 02Введение в StringBufferЗадачаМастерствоКвиз
- 03Основы регулярных выраженийЗадачаМастерствоКвиз
- 04Сопоставление шаблонов с RegexЗадачаМастерствоКвиз
- 05Строковый токенизаторЗадачаМастерствоКвиз
- 06Продвинутое форматирование строкЗадачаКвиз
Проект - Счетчик уникальных слов
Проект4 уроков123- 01Ввод и хранение текстаЗадача
- 02Обработка словПроектКвиз
- 03Подсчет словПроектКвиз
- 04Расширенная статистикаПроектКвиз
Даты и время
6 уроков646- 01Основы LocalDateЗадачаКвиз
- 02Операции с LocalTimeЗадачаКвиз
- 03Использование LocalDateTimeЗадачаКвиз
- 04Period и DurationЗадачаКвиз
- 05Форматирование датЗадачаКвиз
- 06Работа с часовыми поясамиЗадачаКвиз
Раздел 3
Объектно-ориентированное программирование
Начать разделНачатьРазвернутьСвернутьУзнайте, как организовывать код с помощью классов, объектов и повторно используемых структурОсновы ООП
9 уроков971- 01Внешние файлыЗадачаКвиз
- 02Введение в ООПЗадачаКвиз
- 03Классы и объектыЗадачаКвиз
- 04Ключевое слово thisЗадачаКвиз
- 05МетодыЗадачаКвиз
- 06Поля (атрибуты)ЗадачаКвиз
- 07Метод-конструкторЗадачаКвиз
- 08Перегрузка конструкторовЗадачаКвиз
- 09Итоги — Простой калькуляторЗадача
Модификаторы доступа и инкапсуляция
5 уроков536- 01Обзор уровней доступаЗадачаКвиз
- 02Методы геттеры и сеттерыЗадачаКвиз
- 03Сокрытие данныхЗадачаКвиз
- 04Ключевое слово finalЗадачаКвиз
- 05Итоги — Менеджер банковского счетаЗадача
Свойства класса и статические члены
5 уроков533- 01Переменные экземпляра и статические переменныеЗадачаКвиз
- 02Статические методыЗадачаКвиз
- 03Статические блокиЗадачаКвиз
- 04Константы (static final)ЗадачаКвиз
- 05Итоги: Счетчик и утилитыЗадача
Наследование
8 уроков862- 01Основы наследования (extends)ЗадачаКвиз
- 02Ключевое слово superЗадачаКвиз
- 03Переопределение методов (@Override)ЗадачаКвиз
- 04Цепочка конструкторовЗадачаКвиз
- 05Класс ObjectЗадачаКвиз
- 06Одиночное и многоуровневое наследованиеЗадачаКвиз
- 07Почему нет множественного наследования классовЗадачаКвиз
- 08Итоги — Иерархия сотрудниковЗадача
Полиморфизм
6 уроков645- 01Основы перегрузки методовЗадачаКвиз
- 02Переопределение методов (Run-Time)ЗадачаКвиз
- 03Upcasting и DowncastingЗадачаКвиз
- 04Оператор instanceofЗадачаКвиз
- 05Абстрактные классы и методыЗадачаКвиз
- 06Итоги: Калькулятор фигурЗадача
Интерфейсы и абстрактные классы
7 уроков754- 01Введение в интерфейсыЗадачаКвиз
- 02Реализация интерфейсовЗадачаКвиз
- 03Реализация нескольких интерфейсовЗадачаКвиз
- 04Default и Static методы в интерфейсахЗадачаКвиз
- 05Абстрактные классы vs ИнтерфейсыЗадачаКвиз
- 06Функциональные интерфейсыЗадачаКвиз
- 07Итоги — Платежная системаЗадача
Специальные методы и класс Object
6 уроков644- 01Метод toString()ЗадачаКвиз
- 02equals() и hashCode()ЗадачаКвиз
- 03Метод clone()ЗадачаКвиз
- 04compareTo() и ComparableЗадачаКвиз
- 05Интерфейс ComparatorЗадачаКвиз
- 06Повторение — Кастомная сортировкаЗадача
Продвинутые концепции ООП
6 уроков653- 01Композиция против наследованияЗадачаКвиз
- 02Агрегация против композицииЗадачаКвиз
- 03Внутренние, вложенные и анонимные классыЗадачаКвиз
- 04Enums и методы перечисленийЗадачаКвиз
- 05Records (Java 16+)ЗадачаКвиз
- 06Sealed-классы (Java 17+)ЗадачаКвиз
Обобщения
6 уроков644- 01Введение в обобщенияЗадачаКвиз
- 02Обобщенные классыЗадачаКвиз
- 03Обобщенные методыЗадачаКвиз
- 04Ограниченные параметры типаЗадачаКвиз
- 05Символы подстановки (Wildcards: ?, extends, super)ЗадачаКвиз
- 06Итоги — Обобщенный контейнерЗадача
Обработка исключений в ООП
5 уроков536- 01Иерархия классов исключенийЗадачаКвиз
- 02Пользовательские исключенияЗадачаКвиз
- 03Проверяемые и непроверяемые ошибкиЗадачаКвиз
- 04Паттерн Try With ResourcesЗадачаКвиз
- 05Повторение — Validated UserЗадача
Паттерны проектирования. Часть 1
6 уроков654- 01Введение в паттерны проектированияЗадачаКвиз
- 02Паттерн SingletonЗадачаКвиз
- 03Паттерн FactoryЗадачаКвиз
- 04Паттерн BuilderЗадачаКвиз
- 05Паттерн ObserverЗадачаКвиз
- 06Паттерн StrategyЗадачаКвиз
Паттерны проектирования. Часть 2
7 уроков763- 01Паттерн «Команда»ЗадачаКвиз
- 02Паттерн «Адаптер»ЗадачаКвиз
- 03Паттерн «Декоратор»ЗадачаКвиз
- 04Паттерн «Шаблонный метод»ЗадачаКвиз
- 05Паттерн «Состояние»ЗадачаКвиз
- 06Паттерн «Компоновщик»ЗадачаКвиз
- 07Паттерн «Итератор»ЗадачаКвиз
Проект: Управление библиотекой
Проект7 уроков1- 01Обзор проекта и UML-проектированиеЗадача
- 02Классы Book и UserПроект
- 03Система выдачи книгПроект
- 04Функционал поискаПроект
- 05Интерфейс администратораПроект
- 06Интеграция обработки исключенийПроект
- 07Тестирование и интеграцияПроект
Финальные испытания
4 уроков437- 01Платформа онлайн-обученияЗадачаКвиз
- 02Банковская системаЗадачаКвиз
- 03Разработка игрового персонажаЗадачаКвиз
- 04Сервис аренды транспортаЗадачаКвиз
Курсы Java
Практические курсы Java - бесплатный старт в браузере.
Задачи для начинающих: практика базовых концепций
ПопулярноеПроверьте свои знания основ программирования на практике и попробуйте решить эти задачи на любом языке. Удачного кодинга!
Сертификат по окончании
- 20
- 20
Задачи по программированию
ПопулярноеПроверьте свои навыки решения задач по программированию, выполняя упражнения разного уровня сложности. Этот курс предназначен для тех, кто уже знаком с базовым синтаксисом любого языка программирования.
Сертификат по окончании
- 32
- 31
Стек — Серия «Структуры данных» №1
В этом курсе вы изучите структуру данных Стек, создадите её с нуля на выбранном вами языке и попрактикуетесь в решении задач!
- 13
- 6
- 1
Задачи по программированию: Часть 2
Проверьте свои навыки решения задач с помощью упражнений разного уровня сложности. Курс предназначен для программистов, уже знакомых с базовым синтаксисом любого языка программирования, и является продолжением первой части «Задач по программированию».
Сертификат по окончании
- 25
- 24
Буткемп по выводу фигур из звездочек
Примените свои навыки решения задач в программировании, чтобы научиться выводить фигуры из звездочек любой сложности: от простых до самых продвинутых. В процессе вы освоите работу с вложенными циклами, условными операторами и математическими вычислениями.
- 30
- 28
Кучи и очереди с приоритетом — Структуры данных №7
В этом курсе вы изучите структуру данных Куча (основу очередей с приоритетом), создадите MinHeap с нуля на выбранном вами языке и попрактикуетесь в решении задач с её использованием!
Сертификат по окончании
- 14
- 6
- 1
Почему стоит изучать Java на Coddy
- Пишите и запускайте настоящий Java-код прямо в браузере. Никакой установки JDK, никакой настройки IDE. Редактор компилирует и запускает вашу программу на сервере и сразу показывает результат.
- Объектно-ориентированный Java таким, каким его пишут в реальных проектах: классы, наследование, интерфейсы, полиморфизм, generics, обработка исключений. Под каждое понятие - практическое задание.
- Подсказки ИИ помогают разобраться с ошибками Java и исправить их - особенно с многословными stack traces, - так что язык перестаёт пугать с первого же дня.
- Бесплатный сертификат по Java после прохождения курса. Весомый аргумент для позиций в backend, Android или enterprise-разработке, где знание Java имеет значение.