Основы языка Java
JV_Core
Цель - дать слушателям начальные знания по основам программирования с использованием современного языка Java. Вводятся основные концепции языка Java, структура классов, основы ООП в Java. На протяжении курса разрабатываются конкретные примеры классов, которые затем передаются слушателям на магнитных носителях.
Аудитория
Начинающие разработчики, которые будут использовать язык разработки приложений - Java.
Предварительный уровень подготовки
Начальные знания операционной системы Windows X.X или Linux. Основы процедурного и объектно-ориентированного программирования.
Рекомендуемая литература:
Брюс Эккель Философия JAVA, Питер.
Программа курса
1. Введение в Java технологии.
- Особенности языка программирования Java.
- Описание Java технологий.
- Использование интегрированной среды разработки.
- Практика:
- Установка JDK/IDE, настройка параметров среды.
- Работа в командной строке.
2. Введение в язык программирования Java.
- Языковые лексемы Java.
- Введение в систему типов языка Java.
- Работа с примитивными типами и константами.
- Операции языка Java.
- Преобразование простых типов.
3. Методы и операторы Java.
- Создание и вызов методов.
- Перегрузка и методы с переменным числом аргументов.
- Операторы ветвления.
- Операторы циклов.
4. Создание и использование массивов Java.
- Одномерные массивы.
- Многомерные массивы.
- Работа с массивами и класс Arrays.
Практика:
Конвертор дня года в месяц и число.
5. Работа со строками в Java.
- Основные методы класса String.
- Сложение и преобразование строк.
- Классы динамических строк.
- Ввод данных с клавиатуры и класс Scanner.
- Регулярные выражения.
Практика:
Конвертор целых чисел в двоичную систему.
6. Разработка классов на Java.
- Обзор основных концепций ООП.
- Объявление класса.
- Члены класса и создание объектов класса.
- Модификаторы доступа.
- Модификаторы final & static.
- Использование пакетов, директив импорта и переменной среды CLASSPATH.
- Модули Java SE9, как единица развёртывания и безопасности.
Практика:
Разбор параметров командной строки.
7. Наследование и полиморфизм.
- Наследование как механизм повторного использования кода.
- Конструктор при наследовании.
- Преобразование типов и операция instanceof.
- Виртуальные методы и позднее связывание.
- Абстрактные классы и методы.
Практика:
Разбор параметров командной строки.
8. Интерфейсы и аннотации.
- Концепция интерфейсов.
- Объявление интерфейса.
- Реализация интерфейса.
- Статические методы и методы по умолчанию в интерфейсах.
- Использование и создание аннотаций.
Практика:
Сортировка массива объектов.
9. Пакет java.lang.
- Класс Object и переопределение его методов.
- Метаданные и рефлексия.
- Классы System и Math.
10. Обработка ошибок в Java.
- Концепция исключений в Java.
- Использование операторов try, catch и finally.
- Проверяемые и непроверяемые исключения.
- Создание своих классов исключений.
- Оператор try для освобождения ресурсов.
11. Потоки данных в Java.
- Обзор классов потоков.
- Работа с байтовыми потоками.
- Работа с потоками символов.
- Использование класса java.io.File.
- Сжатие файлов.
- Сериализация объектов в Java.
12. Работа с файловой системой в NIO 2.
- Использование интерфейса Path.
- Работа с атрибутами файлов.
- Основные возможности класса Files.
- Использование класса Files для обхода дерева каталогов.
- Мониторинг изменений в файловой системе.
13. Пакет java.util.
- Форматирование данных.
- Работа с датой и временем.
- Класс Locale и глобализация кода.
- Локализация и класс ResourceBundle.
- Генерация псевдослучайных чисел.
14. Коллекции в Java.
- Иерархия классов коллекций.
- Концепция параметризованных типов данных.
- Работа с параметризованным методов и интерфейсом.
- Обзор возможностей списков, множеств и словарей в Java.
15. Вложенные классы в Java.
- Внутренние классы.
- Вложенные классы.
- Анонимные классы.
- Перечисления в Java.
16. Лямбда-выражения и потоки.
- Синтаксис лямбда-выражений.
- Ссылки на методы.
- Функциональные интерфейсы.
- Знакомство с потоками