Курс начального уровня предназначен для программистов, которые только начинают изучать Java и желают понять концепции, языковые конструкции и типы данных. В темы курса включены вопросы по обработке исключений, созданию лямбда-выражений и модульному программированию. Курс предназначен для программистов, которые будут применять язык Java для разработки программ с использованием последних версий JDK, таких как Java 10 и Java 11.
Предполагаемые знания и навыки
Знакомство с общими концепциями и методами программирования
Опыт работы с другим языком программирования
Цель курса:
Научиться создавать простые Java-классы и использовать ссылки на объекты для доступа к полям и методам класса;
Продемонстрировать использование полиморфизма путем реализации интерфейсов на Java;
Обрабатывать и проверять исключения в программах на Java;
Использовать лямбда-выражения в предикатах, передаваемых в качестве аргументов методов;
Определить и реализовать простую иерархию классов, созданную в соответствии с техническим заданием;
Написать Java код, в котором используются переменные, массивы, условные и циклические конструкции для описания алгоритма;
Определить принципы модульного программирования;
Понять как осуществляется доступ и создание статических полей и методов;
Инкапсулировать класс с помощью модификаторов доступа и перегруженных конструкторов;
Управление числовыми, текстовыми и строковыми данными с помощью соответствующих операторов Java;
Задание переменных среды, позволяющих компилятору Java и исполняемым файлам графической среды пользователя функционировать должным образом.
Аудитория курса:
системные аналитики
архитекторы
Java-программисты
технические консультанты
Что такое программа на Java.
Запуск и тестирование программы Java. Технологии Java и среды разработки. Основные особенности языка Java.
Создание Main класса на Java.
Java-класс. Добавление main метода. Main метод.
Работа с основными типами данных.
Работа с числовыми данными. Операции над числами. Понятие переменных. Работа со строками.
Действия над наборами элементов.
Задание списка элементов. Работа с условиями. Использование операторов IF. Обработка списка элементов.
Описание объектов и классов.
Работа со ссылками на объекты. Расширение операций над массивами. Объявление, создание экземпляров и инициализация объектов. Определение полей и методов. Работа с объектами и классами.
Манипуляции с типами данных в программе
Использование класса StringBuilder. Подробнее о примитивных типах данных. Использование API docs Java. Операторы над числами, описываемыми классом String. Правила преобразований и приведений типов переменных.
Создание и использование методов
Как аргументы передаются методу. Как использовать метод. Перегрузка метода. Статические методы и переменные. Аргументы метода и возвращаемые значения.
Использование инкапсуляции
Контроль доступа. Перегрузка конструкторов. Инкапсуляция.
Дополнительные возможности условных операторов
Дополнительные способы использования конструкций IF/ELSE. Использование отладчика Netbeans. Реляционные и условные операторы. Использование операторов switch.
Подробнее о массивах и циклах
Класс ArrayList. Вложенные циклы. Анализ массива входных аргументов args. Альтернативные циклические конструкции. Работа с датами. Двумерные массивы.
Работа с наследованием
Работа с подклассами и суперклассами. Создание и расширение абстрактных классов. Переопределение методов в суперклассе. Обзор.
Работа с интерфейсами
Использование интерфейса List. Использование интерфейсов. Понятие лямбда-выражения. Полиморфизм в классах JDK foundation. Вывод типа локальной переменной. Полиморфизм.
Обработка исключений
Распространение исключений. Обзор. Обработка нескольких исключений и ошибок. Как обрабатывать и вызывать исключения.
Развертывание и поддержка приложения Soccer
Модификация приложения и требования. Пакеты, JARs, архитектура.
Понятие модульного программирования.
Объявление модулей. Модулярные компоненты JDK. JARs. Модульная система.
JShell
Тестирование кода. Основы JShell. JShell в IDE.