1. Знакомство c Java
- Знакомство с Java.
- Процесс создания приложения
- Знакомство с Java SE
- Виртуальная машина Java
- Среда разработки IntelliJ IDEA
- Создание первого проекта
- Метод main
- Команды вывода в консоль
- Экранирование символов
- Переменные и примитивные типы данных
- Арифметические операции
- Домашнее задание: Программа решения линейных уравнений
2. Управляющие конструкции. Преобразование типов. Логические операции
- Конструкции условного перехода
- Логические операции и операторы
- Вложенность конструкций и область видимости
- Явное и неявное преобразование типов
- Конкатенация строк
- Знакомство с миром фундаментальных алгоритмов
- Алгоритм поиска минимума
- Домашнее задание: Программа решения квадратных уравнений
3. Массивы. Циклы. Базовые алгоритмы поиска. Сортировка.
- Оперативная память компьютера;
- Представление массива данных в памяти;
- Объявление и инициализация массивов;
- Алгоритм программы генерации массива со случайными числами;
- Реализация программы;
- Знакомство с циклами. Цикл while;
- Сокращенная запись арифметических операций;
- Постфиксная и префиксная инкрементация/декрементация;
- Алгоритм поиска минимума/максимума в массиве;
- Реализация алгоритмов поиска; цикл for; вложенность циклов;
- Простейший алгоритм сортировки массива;
- Реализация алгоритма сортировки;
- Домашнее задание:
- Реализация сортировки массива методом «пузырька»
- Создание программы «Телефонная книга» на основе массива
4. Введение в классы и объекты.
- Классы, как типы данных
- Объекты, как переменные
- Состояние и поведение объекта
- Поля и методы
- Сигнатура метода (тип, параметры, аргументы)
- Жизнь и смерть объектов
- Ссылочные типы данных
- Общение между объектами
- Создание класса Contact для программы «Телефонная книга»
- Домашнее задание:
- Добавление функционала в программу «Телефонная книга»
5. Коллекции
- Гибкие структуры данных в java.util
- Основные классы-коллекции
- Применение конкретных коллекций в зависимости от поставленной задачи
- Принцип работы ArrayList
- Знакомство с LinkedList, HashSet, HashMap, TreeSet
- Домашнее задание:
- Создание гибкой структуры данных, аналогичной ArrayList и использование ее в телефонной книге
6. Введение в ООП
- Четыре кита ООП
- Инкапсуляция (модификаторы доступа)
- «Хороший тон» разработки на Java
- Геттеры и сеттеры
- Ключевое слово this
- Конструкторы
- Наследование в Java и его применение
- Класс Object
- Преимущества полиморфизма в ООП языках
- Переопределение и перегрузка
- Абстракция при построении архитектуры приложения
- Домашнее задание:
- Доработка задачи на ООП по геометрическим фигурам
- Применение правил инкапсуляции в программе «Телефонная книга»
7. Абстрактные классы и методы. Интерфейсы. Анонимные классы
- Распределение обязанностей между классами
- Интерфейсы, как альтернатива множественному наследованию
- Маркер-интерфейсы, функциональные интерфейсы
- Интерфейс Comparable и правильная сортировка объектов
- Домашнее задание:
- Добавление сортировки по алфавиту в телефонную книгу
- Добавление информации в класс Contact для увеличения возможностей телефонной книги.
8. Параметризация. Лямбда-выражения
- Динамическая типизация в Java
- Создание класса с параметризированным полем
- Лямбда-выражения, как альтернатива анонимным классам функциональных интерфейсов
- Применение лямбда-выражений
- Интерфейс Comparator
- Многоуровневая сортировка объектов
- Домашнее задание:
- Добавление в телефонную книги возможности настройки параметров сортировки
9. Рекурсия
- Знакомство с рекурсией
- Стек
- Решение задач с применением рекурсии
- Реализация алгоритма «быстрой» сортировки
- Домашнее задание:
- Создание собственного метода sort на основе реализованного алгоритма и применение в телефонной книге
10. Работа с файлами. Обработка исключительных ситуаций
- Класс File
- Потоки ввода-вывода
- Знакомство с java.io
- FileInputStream, InputStreamReader, BufferedReader
- FileOutputStream, PrintWriter
- Чтение и запись текстовых файлов
- Буфер записи
- Исключения. Exception и RuntimeException
- «Опасные» методы
- Обработка исключительных ситуаций
- Влияние иерархии классов исключений на порядок обработки
- Создание собственных исключений
- Пробрасывание исключений
- Домашнее задание:
- Реализация сохранения контактов телефонной книги в файл и загрузки при запуске программы
Hashtag
#java #курс
Contacts