Java from EPAM : учебно-методическое пособие [Игорь Николаевич Блинов] (pdf) читать постранично

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

И. Н. Блинов
В. С. Романчик

Java
from EPAM

Учебно-методическое пособие

МИНСК
ИЗДАТЕЛЬСТВО «ЧЕТЫРЕ ЧЕТВЕРТИ»
2020

УДК 004.434
ББК 32.973.26-018.2
Б69

Рецензенты:
кандидат технических наук, доцент В. Д. Левчук,
кандидат технических наук, доцент О. Г. Смолякова
Рекомендовано
Ученым Советом механико-математического факультета Белорусского государственного
университета в качестве пособия для студентов высших учебных заведений,
обучающихся по специальностям
1-31 03 08 «Математика и информационные технологии (по направлениям)»,
1-31 03 01 «Математика (по направлениям)»

Б69

Блинов, И. Н., Романчик, В. С.
Java from EPAM : учеб.-метод. пособие / И. Н. Блинов, В. С. Романчик. — Минск :
Четыре четверти, 2020. — 560 с.
ISBN 978-985-581-391-1.
Пособие предназначено для программистов, начинающих и продолжающих изучение технологий
Java SE. В книге рассматриваются основы языка Java и концепции объектно-ориентированного
и функционального программирования. Также изложены аспекты применения библиотек классов
языка Java, включая файлы, коллекции, Stream API, сетевые и многопоточные приложения, а также
взаимодействие с СУБД и ХМL.
В конце каждой главы даются теоретические вопросы по изученной главе, тестовые вопросы по
материалу главы и задания для выполнения. В приложениях приведены дополнительные материалы
с кратким описанием технологий Log4J2 и TestNG.

УДК 004.434
ББК 32.973.26-018.2

ISBN 978-985-581-391-1

© Блинов И. Н., Романчик В. С., 2020
© Оформление. ОДО «Издательство
“Четыре четверти”», 2020

ОГЛАВЛЕНИЕ
ПРЕДИСЛОВИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Глава 1. ВВЕДЕНИЕ В ООП И ФП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Глава 2. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Глава 3. КЛАССЫ И МЕТОДЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Глава 4. НАСЛЕДОВАНИЕ И ПОЛИМОРФИЗМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Глава 5. ВНУТРЕННИЕ КЛАССЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Глава 6. ИНТЕРФЕЙСЫ И АННОТАЦИИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Глава 7. ФУНКЦИОНАЛЬНЫЕ ИНТЕРФЕЙСЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Глава 8. СТРОКИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
Глава 9. ИСКЛЮЧЕНИЯ И ОШИБКИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Глава 10. ПОТОКИ ВВОДА/ВЫВОДА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Глава 11. КОЛЛЕКЦИИ И STREAM API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Глава 12. ПОТОКИ ВЫПОЛНЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Глава 13. JAVA DATABASE CONNECTIVITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Глава 14. СЕТЕВЫЕ ПРОГРАММЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
Глава 15. JAVA API FOR XML PROCESSING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
ОТВЕТЫ НА ТЕСТОВЫЕ ВОПРОСЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Приложение 1. Log4J2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
Приложение 2. TestNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540

3

СОДЕРЖАНИЕ ГЛАВ
ПРЕДИСЛОВИЕ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Глава 1. ВВЕДЕНИЕ В ООП И ФП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Базовые понятия ООП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Базовые понятия ФП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Базовые понятия Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Простое приложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Установка JDK и IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Компиляция и запуск приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Основы классов и объектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Объектные ссылки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Консольный ввод\вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Base code conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Вопросы к главе 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Задания к главе 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Тестовые задания к главе 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Глава 2. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Базовые типы данных и литералы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Документирование кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Операторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Классы-оболочки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Оператор условного перехода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Оператор выбора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Циклы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Массивы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Вопросы к главе 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Задания к главе 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Тестовые задания к главе 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Глава 3.