01
                            Создавать и запускать типичные Java-приложения
                        
                                                                    
                            02
                            Работать с системой дата-типов и операторами
                        
                                                                    
                            03
                            Использовать циклы и массивы
                        
                                                                    
                            04
                            Разрабатывать методы и применять инкапсуляцию
                        
                                                                    
                            05
                            Применять наследование и полиморфизм
                        
                                                                    
                            06
                            Обрабатывать исключения
                        
                                                                    
                            07
                            Работать с избранными классами Java API
                        
                                     
                                        
                                                                                                
                                
                                    01
                                    Вступительные замечания
                                    
                                 
                                
                                    
Назначение, характер и структура сертификационного теста, его специфика и “подводные камни”, классификация задач, контекстные допущения.
                                 
                             
                                                                                                                        
                                
                                
                                    
Определение области действия переменных; структура класса в Java;
Создание исполнимых Java-приложений с методом main(); запуск Java-программы с командной строки, в т.ч. вывод в консоль; импорт Java-пакетов.                                
                             
                                                                                                                        
                                
                                
                                    
Объявление и инициализация переменных (включая приведение примитивных типов данных);
Дифференциация между ссылочными и примитивными переменными; чтение и запись полей объектов; жизненный цикл объекта (создание, переприсваивание ссылки и сборка мусора);
Разработка кода, использующего классы-оболочки, в частности, Boolean, Double и Integer.                                
                             
                                                                                                                        
                                
                                    04
                                    Операторы и структуры ветвления
                                    
                                 
                                
                                    
Применение операторов, включая переопределение приоритета;
Проверка идентичности строковых и др. объектов с использованием оператора == и метода equals();
Конструкции if и if-else, а также тернарный оператор; применение оператора switch.                                
                             
                                                                                                                        
                                
                                    05
                                    Создание и применение массивов
                                    
                                 
                                
                                    
Объявление, создание и применение одномерных и многомерных массивов.                                
                             
                                                                                                                        
                                
                                
                                    
Создание и применение циклов for (в т.ч. for-each), while и do-while;
Применение операторов break и continue.                                
                             
                                                                                                                        
                                
                                
                                    
Создание методов с аргументами и возвращаемыми значениями, в т.ч. перегрузка методов;
Поведение объектных ссылок и примитивных переменных, передаваемых в методы;
Применение ключевого слова static к методам и полям; модификаторы доступа;
Реализация принципов инкапсуляции в классе, создание и перегрузка конструкторов, включая влияние на дефолтный конструктор.                                
                             
                                                                                                                        
                                
                                
                                    
Наследование и его преимущества; разработка кода, демонстрирующего полиморфизм, включая переопределение методов и противопоставление объектного типа ссылочному;
Необходимость в приведении типов;
Применение ключевых слов super и this для доступа к объектам и конструкторам;
Применение абстрактных классов и интерфейсов.                                
                             
                                                                                                                        
                                
                                
                                    
Противопоставление контролируемых исключений неконтролируемым, в т.ч. ошибкам;
Создание блока try-catch и влияние исключений на штатный алгоритм работы программы;
Преимущества обработки исключений; создание и вызов метода, возбуждающего исключение;
Работа с типичными классами исключений (в частности, NullPointerException, ArithmeticException, ArrayIndexOutOfBoundsException, ClassCastException).                                
                             
                                                                                                                        
                                
                                    10
                                    Избранные классы библиотеки Java API
                                    
                                 
                                
                                    
Манипуляция данными посредством класса StringBuilder и String; создание и манипуляция календарными датами посредством классов из пакета java.time (напр., LocalDateTime и др.);
Объявление и применение коллекций ArrayList заданного типа;
Составление простого лямбда-выражения, которое потребляет Predicate.                                
                             
                                                                                                                    
                            
                                11
                                Итого: теория – 7 ч (30%), практика – 17 ч (70%)