Курс на Stepik
Обложка курса «Java для начинающих» на Stepik
500 ₽

Java для начинающих 5.000

Открыть на
STEPIK.ORG

Java 21 с нуля: JVM, синтаксис, ООП, коллекции, исключения, Stream API, многопоточность, Maven, JUnit и итоговый проект.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Java для начинающих»Учеников на курсе 33
Сертификаты, выданные на курсе «Java для начинающих»Сертификатов выдано 0
Отзывы о курсе «Java для начинающих»Отзывов получено 2
Рейтинг курса «Java для начинающих»Рейтинг курса 5.000
Уроки в курсе «Java для начинающих»Количество уроков 128
Тесты в курсе «Java для начинающих»Количество квизов 558
Время прохождения курса «Java для начинающих»Время прохождения курса
Стоимость курса «Java для начинающих»Стоимость курса 500 ₽
Обновления курса «Java для начинающих»Обновления курса
Дата публикации курса «Java для начинающих»Дата публикации курса
Последнее обновление курса «Java для начинающих»Последнее обновление
Сложность easy

Содержание курса

Разделы в курсе «Java для начинающих» 19 разделов Уроки в курсе «Java для начинающих» 128 уроков Тесты в курсе «Java для начинающих» 558 тестов Время прохождения курса «Java для начинающих» 0 ч. Последнее обновление курса «Java для начинающих» обн. 16 июля 2026

Модуль 1. Введение: почему Java и как мы будем учиться

6 уроков
1. О курсе, маршрут обучения и почему Java до сих пор правит бал
2. Что такое JVM и почему «Write Once, Run Anywhere» — не просто…
3. JDK, JRE и компилятор: кто есть кто в экосистеме Java
4. Устанавливаем JDK 21 и проверяем, что всё работает
5. Первая программа: class, main и загадочный System.out.println
6. Как устроен этот курс и что вы будете уметь в конце

Модуль 2. Переменные и типы данных

8 уроков
1. Переменная как именованная ячейка памяти: объявляем через тип…
2. Примитивные типы: byte, short, int, long — целые числа во…
3. float и double: числа с плавающей точкой и почему 0.1 + 0.2…
4. char и кодировки: один символ — не всегда один char, но…
5. boolean: только true и false, никаких 0 и 1
6. Ссылочный тип String: строка как объект, а не массив char-ов
7. Ключевое слово var: автоматический вывод типа и когда им…
8. Приведение типов: когда Java делает это сама, а когда нужна…

Модуль 3. Операторы

7 уроков
1. Арифметические операторы: +, -, *, /, % и сюрпризы…
2. Операторы сравнения: ==, !=, <, >, <=, >= и как Java…
3. Логические операторы: &&, ||, ! — строим составные условия
4. Операторы присваивания: =, +=, -= и компания — короче и…
5. Тернарный оператор ? : — условное выражение в одну строку
6. Приоритет операторов: кто главнее и когда ставить скобки
7. Инкремент и декремент: ++ и --, префиксная и постфиксная форма

Модуль 4. Управление потоком выполнения

8 уроков
1. if и else: базовая развилка — делай одно ИЛИ другое
2. if-else-if: цепочка условий, когда вариантов больше двух
3. Классический switch: выбираем ветку по значению числа, строки…
4. Новый switch-expression: компактный синтаксис со стрелкой и…
5. Цикл for: счётчик, условие, шаг — классическая тройка в одном…
6. Цикл while: повторяем, пока условие истинно
7. Цикл do-while: хотя бы один раз, даже если условие ложно
8. break и continue: прерываем цикл и перепрыгиваем итерацию

Модуль 5. Массивы

7 уроков
1. Объявляем массив: тип[], new и квадратные скобки после типа
2. Инициализация массива: литералы и значения по умолчанию
3. Доступ по индексу: читаем и меняем элементы, помним про границы
4. Свойство length: длина массива и почему её нельзя изменить
5. Цикл for-each: перебираем элементы без индекса
6. Многомерные массивы: таблицы и матрицы — массив массивов
7. Класс java.util.Arrays: toString, sort, fill и другие помощники

Модуль 6. Строки

7 уроков
1. Пул строк: почему одинаковые литералы — это один и тот же объект
2. Конкатенация строк: оператор +, метод concat и что внутри
3. Основные методы String: length, charAt, substring, indexOf…
4. StringBuilder: эффективное построение строк в цикле
5. Форматирование: String.format, printf и язык шаблонов %s %d %.2f
6. Сравнение строк: equals и equalsIgnoreCase — сравниваем…
7. Оператор == для строк: сравниваем ссылки, не текст — вечная…

Модуль 7. Методы

7 уроков
1. Объявляем метод: модификатор доступа, возвращаемый тип, имя и…
2. Параметры методов: передача по значению — примитивы…
3. return и void: возвращаем результат или просто выполняем…
4. Перегрузка методов: одно имя, разные параметры — компилятор…
5. Varargs: переменное число аргументов через многоточие
6. Рекурсия: метод вызывает сам себя и когда это оправдано
7. Область видимости: локальные переменные, параметры и поля класса

Модуль 8. Классы и объекты — введение

8 уроков
1. Ключевое слово class: определяем новый тип с полями и методами
2. Поля класса: состояние объекта — переменные внутри class
3. Методы экземпляра: поведение объекта, доступ к полям через this
4. Конструктор: особый метод, который вызывается при new
5. Ключевое слово this: ссылка на текущий объект и устранение…
6. Ключевое слово new: оператор, который выделяет память и…
7. static: поля и методы, принадлежащие классу, а не экземпляру
8. Константы: static final — значение, которое никогда не меняется

Модуль 9. Инкапсуляция

6 уроков
1. private: скрываем поля от внешнего мира и защищаем инварианты
2. Геттеры и сеттеры: контролируемый доступ к состоянию через…
3. package-private: доступ по умолчанию — видно внутри пакета…
4. protected: доступ для наследников и классов того же пакета
5. Иммутабельность: объекты, которые нельзя изменить после создания
6. record: современный способ объявить неизменяемый класс данных…

Модуль 10. Наследование

7 уроков
1. extends: наследуем поля и методы родительского класса
2. super: обращаемся к родительскому конструктору и…
3. Переопределение методов: меняем поведение родителя в наследнике
4. Класс Object: невидимый родитель всех классов и его главные…
5. equals, hashCode и toString: три кита, которые должны…
6. final: запрещаем наследование класса и переопределение метода
7. Абстрактные классы: общий шаблон, который нельзя создать…

Модуль 11. Интерфейсы

7 уроков
1. interface: объявляем набор методов без реализации
2. implements: класс обязуется выполнить контракт интерфейса
3. default-методы: готовая реализация прямо в интерфейсе с Java 8
4. static-методы в интерфейсе: вспомогательные функции при…
5. Функциональный интерфейс: ровно один абстрактный метод — и…
6. Comparable и Comparator: учим объекты сравнивать себя и друг…
7. Множественная реализация: класс может реализовать несколько…

Модуль 12. Полиморфизм

6 уроков
1. Приведение типов: upcasting безопасен, downcasting требует…
2. instanceof: проверяем реальный тип объекта перед приведением
3. Pattern matching в instanceof: современный синтаксис —…
4. Виртуальные методы: Java всегда вызывает метод реального…
5. Полиморфные коллекции: список родительского типа хранит любых…
6. Принцип подстановки Лисков: наследник не должен ломать…

Модуль 13. Исключения

7 уроков
1. try и catch: перехватываем исключение и решаем, что делать…
2. Checked и unchecked исключения: какие компилятор ЗАСТАВЛЯЕТ…
3. finally: блок, который выполнится в ЛЮБОМ случае — и при…
4. try-with-resources: автоматическое закрытие файлов и других…
5. throw и throws: выбрасываем исключение сами и предупреждаем…
6. Свои классы исключений: наследники Exception и RuntimeException
7. Цепочки исключений: сохраняем причину через конструктор cause

Модуль 14. Коллекции

7 уроков
1. List и ArrayList: упорядоченный список с быстрым доступом по…
2. Set и HashSet: множество уникальных элементов без порядка
3. Map и HashMap: словарь — ключ, значение и молниеносный поиск
4. Итератор: единый способ обойти любую коллекцию
5. Сортировка коллекций: Comparable для естественного порядка…
6. Неизменяемые коллекции: List.of, Set.of, Map.of — защита от…
7. Знакомство со Stream API: filter, map, collect — коллекция…

Модуль 15. Дженерики

6 уроков
1. Зачем нужны дженерики: прощаемся с Object и приведениями типов
2. Дженерик-класс: параметр типа в угловых скобках после имени…
3. Дженерик-методы: тип-параметр перед возвращаемым типом метода
4. Wildcards: ? extends T и ? super T — гибкость без потери…
5. Bounded type parameters: > —…
6. Diamond operator: <> — компилятор сам выводит тип, не…

Модуль 16. Работа с файлами и вводом-выводом

7 уроков
1. Класс File: путь к файлу или директории — проверяем…
2. Path и Files: современный NIO — читаем, пишем, копируем и…
3. Чтение текстового файла: Files.readString, Files.lines и…
4. Запись в текстовый файл: Files.writeString и BufferedWriter
5. Байтовые потоки: InputStream и OutputStream для любых данных
6. Буферизация: зачем нужен буфер и как он ускоряет ввод-вывод
7. try-with-resources с файлами: гарантированное закрытие без…

Модуль 17. Многопоточность — введение

6 уроков
1. Класс Thread: создаём и запускаем поток — второй путь…
2. Интерфейс Runnable: отделяем задачу от потока и передаём…
3. synchronized: защищаем общие данные от одновременного доступа
4. wait и notify: потоки договариваются друг с другом о…
5. ExecutorService: пул потоков — создаём, отправляем задачи…
6. Future и Callable: задача, которая вернёт результат, когда…

Модуль 18. Инструменты разработчика

5 уроков
1. Maven и Gradle: зачем нужна система сборки и…
2. JUnit: пишем модульные тесты — аннотации @Test, assertEquals…
3. Отладка в IDE: точки останова, пошаговое выполнение и…
4. Логирование: java.util.logging и почему логи красноречивее…
5. JAR-файл: упаковываем программу в один архив и запускаем java…

Модуль 19. Итоговый проект: консольный менеджер задач

6 уроков
1. Постановка задачи: что должен уметь наш менеджер задач — add…
2. Модель данных: класс Task со статусом, приоритетом и датой —…
3. Сервисный слой: TaskService — вся бизнес-логика в одном…
4. Файловое хранилище: сохраняем задачи в JSON и читаем при старте
5. Тесты: покрываем модель и сервис юнит-тестами через JUnit
6. Куда двигаться дальше: анонс курсов «Scala для…