Содержание
Введение.......................................................................................................................................................................................... 6
Глава 1. Общие представления о языке Java........................................................................................................................ 7
1.1. Java и другие языки программирования. Системное и прикладное программирование............................ 7
1.2. Виртуальная Java-машина, байт-код, JIT-компиляция. Категории программ, написанных на языке Java 11
1.3.Алфавит языка Java. Десятичные и шестнадцатеричные цифры и целые числа. Зарезервированные слова 16
Алфавит языка Java......................................................................................................................................................... 16
Десятичные и шестнадцатеричные цифры и целые числа................................................................................... 16
Зарезервированные слова языка Java........................................................................................................................ 18
1.4. Управляющие последовательности. Символы Unicode. Специальные символы........................................ 18
Управляющие последовательности............................................................................................................................ 18
Простые специальные символы................................................................................................................................... 19
Составные специальные символы............................................................................................................................... 20
1.5.Идентификаторы. Переменные и типы. Примитивные и ссылочные типы..................................................... 21
Краткие итоги по главе 1..................................................................................................................................................... 24
Задания..................................................................................................................................................................................... 25
Глава 2. Объектно-ориентированное проектирование и платформа NetBeans....................................................... 26
2.1.Процедурное и объектно-ориентированное программирование. Инкапсуляция........................................ 26
2.2. Работа со ссылочными переменными. Сборка мусора...................................................................................... 29
2.3. Проекты NetBeans. Пакеты. Уровни видимости классов. Импорт классов................................................... 33
2.4. Базовые пакеты и классы Java................................................................................................................................... 35
2.5. Создание в NetBeans простейшего приложения Java......................................................................................... 38
2.6. Компиляция файлов проекта и запуск приложения............................................................................................. 42
2.7. Структура проекта NetBeans..................................................................................................................................... 43
2.8. Создание в NetBeans приложения Java с графическим интерфейсом............................................................ 46
2.9. Редактор экранных форм............................................................................................................................................. 49
2.10. Внешний вид приложения......................................................................................................................................... 53
2.11. Ведение проектов........................................................................................................................................................ 54
2.11. Редактирование меню экранной формы............................................................................................................... 56
2.12. Создание нового класса............................................................................................................................................ 58
2.13. Документирование исходного кода в Java.......................................................................................................... 61
2.14. Основные компоненты пакетов swing и awt......................................................................................................... 65
2.15. Технологии Java и .Net............................................................................................................................................... 70
Краткие итоги по главе 2..................................................................................................................................................... 72
Задания..................................................................................................................................................................................... 73
Глава 3. Примитивные типы данных и операторы для работы с ними...................................................................... 74
3.1.Булевский (логический) тип......................................................................................................................................... 74
3.2.Целые типы, переменные, константы........................................................................................................................ 75
3.3.Основные операторы для работы с целочисленными величинами................................................................. 77
3.4.Вещественные типы и класс Math............................................................................................................................. 78
3.5.Правила явного и автоматического преобразования типа при работе с числовыми величинами......... 81
3.6. Оболочечные классы. Упаковка (boxing) и распаковка (unboxing)................................................................. 83
3.7.Приоритет операторов.................................................................................................................................................. 84
3.8.Типы-перечисления (enum).......................................................................................................................................... 85
Краткие итоги по главе 3..................................................................................................................................................... 88
Задания..................................................................................................................................................................................... 89
Глава 4. Работа с числами в языке Java............................................................................................................................... 91
4.1 Двоичное представление целых чисел..................................................................................................................... 91
Позиционные и непозиционные системы счисления.............................................................................................. 91
Двоичное представление положительных целых чисел....................................................................................... 92
Двоичное представление отрицательных целых чисел. Дополнительный код............................................. 93
Проблемы целочисленной машинной арифметики................................................................................................ 94
Шестнадцатеричное представление целых чисел и перевод из одной системы счисления в другую.... 95
4.2. Побитовые маски и сдвиги.......................................................................................................................................... 97
4.3. Двоичное представление вещественных чисел.................................................................................................. 100
Двоичные дроби............................................................................................................................................................. 100
Мантисса и порядок числа......................................................................................................................................... 100
Стандарт IEEE 754 представления чисел в формате с плавающей точкой*............................................... 102
Краткие итоги по главе 4.................................................................................................................................................. 106
Задания.................................................................................................................................................................................. 106
Глава 5. Управляющие конструкции.................................................................................................................................. 108
Составной оператор..................................................................................................................................................... 108
Условный оператор if................................................................................................................................................ 108
Оператор выбора switch.............................................................................................................................................. 112
Условное выражение …?... : ….................................................................................................................................. 112
Операторы инкремента ++ и декремента --............................................................................................................ 113
Оператор цикла for..................................................................................................................................................... 113
Оператор цикла while – цикл с предусловием.................................................................................................. 117
Оператор цикла do...while – цикл с постусловием...................................................................................... 118
Операторы прерывания continue, break, return, System.exit............................................................................... 119
Краткие итоги по главе 5.................................................................................................................................................. 122
Задания.................................................................................................................................................................................. 122
Глава 6. Начальные сведения об объектном программировании.............................................................................. 123
Наследование и полиморфизм. UML-диаграммы...................................................................................................... 123
Функции. Модификаторы. Передача примитивных типов в функции................................................................. 129
Локальные и глобальные переменные. Модификаторы доступа и правила видимости. Ссылка this........ 132
Передача ссылочных типов в функции. Проблема изменения ссылки внутри подпрограммы.................... 134
Наследование. Суперклассы и подклассы. Переопределение методов.............................................................. 139
Наследование и правила видимости. Зарезервированное слово super............................................................... 144
Статическое и динамическое связывание методов. Полиморфизм....................................................................... 146
Базовый класс Object......................................................................................................................................................... 147
Конструкторы. Зарезервированные слова super и this. Блоки инициализации................................................. 149
Удаление неиспользуемых объектов и метод finalize. Проблема деструкторов для сложно устроенных объектов 152
Перегрузка методов............................................................................................................................................................ 152
Правила совместимости ссылочных типов как основа использования полиморфного кода. Приведение и проверка типов.................................................................................................................................................................................................. 155
Рефакторинг.......................................................................................................................................................................... 157
Reverse engineering – построение UML-диаграмм по разработанным классам................................................ 160
Краткие итоги по главе 6.................................................................................................................................................. 166
Задания.................................................................................................................................................................................. 167
Глава 7. Важнейшие объектные типы................................................................................................................................ 169
Массивы................................................................................................................................................................................. 169
Коллекции, списки, итераторы........................................................................................................................................ 173
Работа со строками в Java. Строки как объекты. Классы String, StringBuffer и StringBuilder....................... 176