О чём курс
Курс предназначен для выявления – а затем и устранения – "слабых мест" в подготовке участника, желающего получить базовую Java-сертификацию. Программа курса носит сугубо практическую направленность: еще до начала курса слушатели проходят входное самотестирование, непосредственно на занятиях выполняется разбор выявленных ошибок и параллельно с этим укрепляется теоретическая база; курс завершается выходным тестом.
Структура учебного плана следует тематике сертификационного теста: охвачены фундаментальные концепции ООП и их Java-имплементация. Курс активно ссылается на синтаксические и лексические конструкции языка, а также API базовых классов Java® SE11.
Тестирование на входе и выходе курса выполняется слушателем самостоятельно, вне академических часов.
Цели
Курс позволяет подготовиться к сдаче сертификационного теста на Базовый уровень, который охватывает следующие темы:
- Создание и запуск типичных Java-приложений;
- Система дата-типов в Java;
- Операторы и управляющие конструкции;
- Циклы;
- Массивы;
- Методы и инкапсуляция;
- Наследование и полиморфизм;
- Обработка исключений;
- API избранных классов и интерфейсов, в т.ч. базовые структуры данных и лямбда-выражения.
Целевая аудитория
Java-разработчики, владеющие концепциями ООП и синтаксисом Java или прослушавшие курс JVA-007 "Разработка на платформе Java SE8. Базовые темы".
Предварительная подготовка
Опыт разработки на платформе JavaSE.
Темы курса
01
0. Вступительные замечания (теория – 0.5 ч.)
- Назначение, характер и структура сертификационного теста, его специфика и “подводные камни”, классификация задач, контекстные допущения.
02
1. Основы языка Java (теория – 0.5 ч, практика – 1.5 ч.)
- Определение области действия переменных; структура класса в Java;
-
Создание исполнимых Java-приложений с методом main(); запуск Java-программы с командной строки, в т.ч. вывод в консоль; импорт Java-пакетов.
03
2. Типы данных (теория – 0.5 ч, практика – 1 ч.)
- Объявление и инициализация переменных (включая приведение примитивных типов данных);
-
Дифференциация между ссылочными и примитивными переменными; чтение и запись полей объектов; жизненный цикл объекта (создание, переприсваивание ссылки и сборка мусора);
-
Разработка кода, использующего классы-оболочки, в частности, Boolean, Double и Integer.
04
3. Операторы и структуры ветвления (теория – 0.5 ч, практика – 1 ч.)
- Применение операторов, включая переопределение приоритета;
-
Проверка идентичности строковых и др. объектов с использованием оператора == и метода equals();
-
Конструкции if и if-else, а также тернарный оператор; применение оператора switch.
05
4. Создание и применение массивов (теория – 0.5 ч, практика – 1 ч.)
- Объявление, создание и применение одномерных и многомерных массивов.
06
5. Работа с циклами (теория – 0.5 ч, практика – 1 ч.)
- Создание и применение циклов for (в т.ч. for-each), while и do-while;
-
Применение операторов break и continue.
07
6. Методы и инкапсуляция (теория – 1.25 ч, практика – 3 ч.)
- Создание методов с аргументами и возвращаемыми значениями, в т.ч. перегрузка методов;
-
Поведение объектных ссылок и примитивных переменных, передаваемых в методы;
-
Применение ключевого слова static к методам и полям; модификаторы доступа;
-
Реализация принципов инкапсуляции в классе, создание и перегрузка конструкторов, включая влияние на дефолтный конструктор.
08
7. Наследование (теория – 1.25 ч, практика – 4.5 ч.)
- Наследование и его преимущества; разработка кода, демонстрирующего полиморфизм, включая переопределение методов и противопоставление объектного типа ссылочному;
-
Необходимость в приведении типов;
-
Применение ключевых слов super и this для доступа к объектам и конструкторам;
-
Применение абстрактных классов и интерфейсов.
09
8. Обработка исключений (теория – 0.75 ч, практика – 1.5 ч.)
- Противопоставление контролируемых исключений неконтролируемым, в т.ч. ошибкам;
-
Создание блока try-catch и влияние исключений на штатный алгоритм работы программы;
-
Преимущества обработки исключений; создание и вызов метода, возбуждающего исключение;
-
Работа с типичными классами исключений (в частности, NullPointerException, ArithmeticException, ArrayIndexOutOfBoundsException, ClassCastException).
10
9. Избранные классы библиотеки Java API (теория – 0.75 ч, практика – 2.5 ч.)
- Манипуляция данными посредством класса StringBuilder и String; создание и манипуляция календарными датами посредством классов из пакета java.time (напр., LocalDateTime и др.);
-
Объявление и применение коллекций ArrayList заданного типа;
-
Составление простого лямбда-выражения, которое потребляет Predicate.
11
Итого: теория – 7 ч (30%), практика – 17 ч (70%)
Ведущий курса
Судакевич Игорь
Эксперт в области разработки ПО (Java).
Senior