
JVA-084-SELF Java-разработчик: от первого кода до успешного релиза
Начало: В любое время
Длительность: 1 неделя
СертификатОнлайн
Описание курса
- Освойте Java с нуля, дойдите до первого успешного релиза. Комплексный курс от теории до практики, включая разработку полностью законченного консольного приложения.
- Понятие переменной и области ее действия;
- Структура Java-класса;
- Создание исполняемых Java-приложений с методом main();
- Запуск Java-программы с командной строки, включая вывод в консоль;
- Настройка компиляции и режима работы JVM;
- Платформенная независимость, процедурный подход и объектная ориентация в Java, принцип инкапсуляции;
- Импорт Java-пакетов. Объявление и инициализация, в т.ч. приведение примитива;
- Дифференциация между ссылочными и примитивными переменными;
- Стек и динамическая память (heap);
- Чтение и запись объектных полей;
- Жизненный цикл объекта (создание, переброс ссылки, сборка мусора);
- Разработка кода, использующего классы-оболочки (Double, Integer и т.д.).
- Тест по итогам модуля
- Применение операторов, включая переопределение приоритета;
- Проверка идентичности строковых и др. объектов с использованием оператора == и метода equals();
- Конструкции if и if-else, а также тернарный оператор;
- Применение оператора switch.
- Тест по итогам модуля
- Объявление, инстанциация и применение одномерных и многомерных массивов;
- Создание и применение циклов while, for (в т.ч. for-each) и do-while;
- Сравнение циклических конструкций
- Применение операторов break и continue.
- Тест по итогам модуля
- Создание методов, которые принимают аргументы и возвращают значения, в т.ч. перегрузка методов;
- Применение ключевого слова static к методам и полям;
- Создание и перегрузка конструкторов, включая влияние на дефолтный конструктор;
- Применение модификаторов доступа;
- Реализация принципов инкапсуляции в классе;
- Поведение объектных ссылок и примитивных переменных, передаваемых в методы.
- Тест по итогам модуля
- Наследование и его преимущества;
- Разработка кода, демонстрирующего полиморфизм, включая переопределение методов и противопоставление объектного типа ссылочному;
- Необходимость в приведении типов;
- Применение ключевых слов super и this для доступа к объектам и конструкторам;
- Применение абстрактных классов и интерфейсов.
- Тест по итогам модуля
- Противопоставление контролируемых исключений неконтролируемым, в т.ч. ошибкам;
- Создание блока try-catch и влияние исключений на штатный алгоритм работы программы;
- Преимущества обработки исключений;
- Создание и вызов метода, возбуждающего исключение;
- Работа с типичными классами исключений.
- Тест по итогам модуля
- Манипуляция данными посредством класса StringBuilder и его методов;
- Создание и манипуляция String-объектами;
- Создание и манипуляция календарными датами посредством классов из пакета java.time;
- Объявление и применение коллекций ArrayList заданного типа;
- Составление простого лямбда-выражения, которое потребляет Predicate;
- Тест по итогам модуля
- Общее представление о TDD (Test-Driven Development);
- Знакомство с модульными тестами и фреймворком Junit;
- Общее представление о целях и приемах рефакторинга;
- Знакомство с Git;
- Введение в Maven;
- Тест по итогам модуля
- Двухстабильная логика, булева алгебра, таблицы истинности;
- КМОП-структура, инвертор, NAND-вентиль;
- АЛУ, регистры, микропроцессорные команды;
- Двоичное представление, в т.ч. отрицательных и вещественных чисел (2’C).
- Практика: разработка NOR-вентиля и RS-защелки
- Разработка консольного приложения (игра Blackjack Solitaire)