Занятие 1
Основы программирования на Java
- Среда разработки на Java.
- Структура программы.
- Переменные и константы.
- Типы данных.
- Консольный ввод/вывод в Java.
- Арифметические операции.
- Условные выражения.
- Операции присваивания и приоритет операций.
- Преобразования базовых типов данных.
Занятие 2
Структуры выбора
- Тип данных boolean.
- Предложения if.
- Двухвариантные предложения if-else.
- Многовариантные предложения if-else.
- Логические операторы.
- Распространённые ошибки и подводные камни.
- Условные операторы.
- Приоритет и ассоциативность операторов.
Занятие 3
Циклы
- Цикл While.
- Цикл For.
- Цикл Do-While.
- Вложенные циклы.
- Ключевые слова break и continue.
- Минимизация числовых ошибок.
Занятие 4
Массивы
- Основы массивов.
- Копирование массивов.
- Передача массива методу.
- Возвращение массива из метода.
- Списки параметров переменной длины.
- Поиск в массиве.
- Сортировка массива.
- Класс Arrays.
Занятие 5
Массивы
- Обработка двумерных массивов.
- Передача двумерного массива методу.
- Многомерные массивы.
Занятие 6
Методы
- Определение метода.
- Вызов метода.
- Методы типа void.
- Передача значений через параметры.
- Перегрузка методов.
- Область видимости переменных.
Занятие 7
Объектно-ориентированное программирование
- Классы и объекты
- Пакеты
- Модификаторы доступа и инкапсуляция
- Статические члены и модификатор static
Занятие 8
Объектно-ориентированное программирование
- Объекты как параметры методов
- Внутренние и вложенные классы
- Наследование
Занятие 9
Объектно-ориентированное программирование
- Абстрактные классы
- Иерархия наследования и преобразование типов
- Интерфейсы
- Интерфейсы в механизме обратного вызова
- Перечисления enum
Занятие 10
Дополнительные классы
- Математические вычисления и класс Math
- Работа с датами и класс LocalDate
- Проверочная работа
Занятие 11
Коллекции
- Типы коллекций.
- Интерфейс Collection.
- Класс ArrayList и интерфейс List.
- Очереди и класс ArrayDeque.
- Класс LinkedList.
- Интерфейс Set и класс HashSet.
- SortedSet, NavigableSet, TreeSet.
Занятие 12
Интерфейсы
- Интерфейсы Comparable и Comporator и сортировка.
- Интерфейс Map и класс HashMap.
- Интерфейсы SortedMap и NavigableMap и класс TreeMap.
- Итераторы
Занятие 13
Потоки ввода-вывода и работа с файлами
- Потоки ввода-вывода.
- Чтение и запись файлов.
- Закрытие потоков.
Занятие 14
Потоки ввода-вывода и работа с файлами
- Классы ByteArrayInputStream и ByteArrayOutputStream.
- Буферизованные потоки BufferedInputStream и BufferedOutputStream.
- Форматируемый вывод.
- Классы DataOutputStream и DataInputStream.
- Чтение и запись текстовых файлов.
Занятие 15
Потоки ввода-вывода и работа с файлами
- Буферизация символьных потоков.
- Сериализация объектов.
- Класс File и работа с файлами и каталогами.
- Работа с ZIP-архивами.
- Класс Console.
Занятие 16
Работа со строками
- Введение в строки.
- Класс String.
- Основные операции со строками.
- StringBuffer и StringBuilder.
- Регулярные выражения.
Занятие 17
Лямбда-выражения
- Введение в лямбда-выражения.
- Лямбды как параметры и результаты методов.
- Встроенные функциональные интерфейсы.
Занятие 18
Многопоточное программирование
- Класс Thread.
- Создание и выполнение потоков.
- Завершение и прерывание потока.
- Синхронизация потоков и оператор synchronized.
- Взаимодействие потоков.
- Методы wait и notify.
Занятие 19
Многопоточное программирование
- Семафоры.
- Обмен между потоками.
- Блокировки.
- Условия в блокировках.
Занятие 20
Stream API
- Введение в Stream API.
- Создание потока данных.
- Фильтрация, перебор элементов и отображение.
- Сортировка.
- Получение подпотока и объединение потоков.
- Методы skip и limit.
Занятие 21
Stream API
- Операции сведения.
- Метод reduce.
- Тип Optional.
- Метод collect.
- Группировка.
- Параллельные потоки.
- Параллельные операции над массивами.
Занятие 22
Модульность
- Создание модуля.
- Зависимые модули.
- Взаимодействие между модулями.
Занятие 23
Основы работы с БД
- Установка драйвера Connector/J
- Подключение к БД
- Выполнение команд
- Добавление, изменение и удаление данных
- Получение данных
Занятие 24
JavaFX
- Введение
- Язык разметки FXML
Занятие 25
JavaFX
- Панели компоновки
- Элементы управления
Занятие 26
Экзамен