На главную | Где купить | Авторам и заказчикам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты | Прайс листы

Язык программирования Java и среда NetBeans

Автор Монахов В.
Название Язык программирования Java и среда NetBeans
Серия Внесерийные книги
ISBN 978-5-9775-0216-0
Формат 70*100 1/16
Объем 640
Тематика
Оптовая цена
    Вернуться к описанию книги

Полное содержание

Оглавление Введение 1

Глава 1. Общие представления о языке Java

3
1.1. Java и другие языки программирования. Системное и прикладное программирование 3
1.2. Виртуальная Java-машина, байт-код, JIT-компиляция. Категории программ, написанных на языке Java 8
1.3. Алфавит языка Java. Десятичные и шестнадцатеричные цифры и целые числа. Зарезервированные слова 14
Алфавит языка Java 14
Десятичные и шестнадцатеричные цифры и целые числа 15
Зарезервированные слова языка Java 17
1.4. Управляющие последовательности. Символы Unicode. Специальные символы 17
1.5. Идентификаторы. Переменные и типы. Примитивные и ссылочные типы 21
1.6. Процедурное и объектно-ориентированное программирование. Инкапсуляция 24
1.7. Работа со ссылочными переменными. Сборка мусора 29
1.8. Проекты. Пакеты. Уровни видимости классов. Импорт классов 33
1.9. Базовые пакеты и классы Java 37
1.10. Технологии Java, .NET, ASP, PHP 40
Краткие итоги по главе 1 44
Типичные ошибки 46
Задания 47

Глава 2. Среда NetBeans 6.0

49
2.1. Установка JDK 6 49
2.2. Установка среды NetBeans 6.0 54
2.3. Создание в NetBeans простейшего приложения Java 60
2.4. Компиляция файлов проекта и запуск приложения. Jar-файлы 65
2.5. Структура проекта NetBeans 68
2.6. Создание в NetBeans приложения Java с графическим интерфейсом 72
2.7. Редактор экранных форм 76
2.8. Свойства компонентов 82
2.9. Внешний вид приложения — технология Look and Feel 86
2.10. Ведение проектов 89
2.11. Редактирование меню экранной формы 91
2.12. Создание нового класса 99
2.13. Документирование исходного кода в Java 101
2.14. Основные компоненты пакетов swing и awt 107
2.15. Менеджеры размещения (Layout) и якоря (Anchor) 112
2.16. Создание приложения Desktop Application 113
Краткие итоги по главе 2 115
Типичные ошибки 116
Задания 116

Глава 3. Примитивные типы данных и операторы для работы с ними

117
3.1. Булевый (логический) тип 117
3.2. Целые типы, переменные, константы 118
3.3. Основные операторы для работы с целочисленными величинами 121
3.4. Вещественные типы и класс Math 123
3.5. Правила явного и автоматического преобразования типа при работе с числовыми величинами 126
3.6. Оболочечные классы. Упаковка (boxing) и распаковка (unboxing) 128
3.7. Приоритет операторов 131
3.8. Типы-перечисления (enum) 132
Краткие итоги по главе 3 134
Типичные ошибки 136
Задания 136

Глава 4. Работа с числами в языке Java

139
4.1. Двоичное представление целых чисел 139
Позиционные и непозиционные системы счисления 139
Двоичное представление положительных целых чисел 141
Двоичное представление отрицательных целых чисел. Дополнительный код 143
Проблемы целочисленной машинной арифметики. Целочисленное переполнение 144
Шестнадцатеричное представление целых чисел и перевод из одной системы счисления в другую 147
4.2. Побитовые маски и сдвиги 150
4.3. Двоичное представление вещественных чисел 153
Двоичные дроби 153
Мантисса и порядок числа 153
Стандарт IEEE 754 представления чисел в формате с плавающей точкой 156
Краткие итоги по главе 4 161
Типичные ошибки 161
Задания 162

Глава 5. Управляющие конструкции

165
5.1. Составной оператор 165
5.2. Условный оператор if 166
5.3. Оператор выбора switch 169
5.4. Условное выражение ...?... : ... 170
5.5. Операторы инкремента ++ и декремента -- 171
5.6. Оператор цикла for 171
5.7. Ошибки при использовании вещественного счетчика цикла 173
5.8. Эффективная организация циклов при вычислениях в формате с плавающей точкой 176
5.9. Особенности целочисленных вычислений — организация циклов, приоритет операторов и арифметическое переполнение 181
5.10. Оператор цикла while — цикл с предусловием 185
5.11. Оператор цикла do...while — цикл с постусловием 187
5.12. Операторы прерывания continue, break, return, System.exit 187
Краткие итоги по главе 5 190
Типичные ошибки 191
Задания 192

Глава 6. Начальные сведения об объектном программировании

193
6.1. Наследование и полиморфизм 193
6.2. Функции. Модификаторы. Передача примитивных типов в функции 200
6.3. Локальные и глобальные переменные. Модификаторы доступа и правила видимости. Ссылка this 203
6.4. Передача ссылочных типов в функции. Проблема изменения ссылки внутри подпрограммы 206
6.5. Наследование. Суперклассы и подклассы. Переопределение методов 212
6.6. Наследование и правила видимости. Зарезервированное слово super 218
6.7. Статическое и динамическое связывание методов. Полиморфизм 220
6.8. Базовый класс Object 222
6.9. Конструкторы. Зарезервированные слова super и this. Блоки инициализации 223
6.10. Удаление неиспользуемых объектов и метод finalize. Проблема деструкторов для сложно устроенных объектов 227
6.11. Перегрузка методов 228
6.12. Правила совместимости ссылочных типов как основа использования полиморфного кода. Приведение и проверка типов 230
Краткие итоги по главе 6 233
Типичные ошибки 235
Задания 235

Глава 7. UML-диаграммы. Прямое и обратное проектирование. Рефакторинг

237
7.1. UML-диаграммы 237
7.2. Структура окон проектов с UML-диаграммами 243
7.3. Панель инструментов проектов с UML-диаграммами 248
7.4. Прямое проектирование (Forward engineering) — построение кода классов по UML-диаграммам 253
7.5. Обратное проектирование (Reverse engineering) — построение UML-диаграмм по разработанным классам 259
7.6. Рефакторинг 264
Краткие итоги по главе 7 271
Задания 272

Глава 8. Важнейшие объектные типы

273
8.1. Массивы 273
8.2. Коллекции, списки, итераторы 279
8.3. Перебор в цикле элементов коллекций. Оператор цикла for-each 282
8.4. Работа со строками в Java. Строки как объекты. Классы String, StringBuffer и StringBuilder 283
8.5. Работа с графикой и графическим пользовательским интерфейсом 289
Код визуализации и код бизнес-логики приложения 289
Графические примитивы 290
Пример метода, работающего с графикой 292
8.6. Исключительные ситуации 294
Обработка исключительных ситуаций 294
Иерархия исключительных ситуаций 296
Объявление типа исключительной ситуации и оператор throw 300
Объявление метода, который может возбуждать исключительную ситуацию. Зарезервированное слово throws 301
8.7. Работа с файлами и папками 304
Работа с файлами и папками с помощью объектов типа File 304
Выбор файлов и папок с помощью файлового диалога 308
Работа с потоками ввода/вывода 312
Краткие итоги по главе 8 319
Задания 321

Глава 9. Интерфейсы и композиция

323
9.1. Проблемы множественного наследования классов. Интерфейсы 323
9.2. Отличия интерфейсов от классов. Проблемы наследования интерфейсов 326
9.3. Пример на использование интерфейсов 328
9.4. Композиция — еще одна альтернатива множественному наследованию 330
Краткие итоги по главе 9 332
Типичные ошибки 333
Задания 333

Глава 10. Многопоточное программирование и многоядерные системы

335
10.1. Потоки выполнения (threads) и синхронизация 335
10.2. Преимущества и проблемы при работе с потоками выполнения 336
10.3. Синхронизация по ресурсам и событиям 337
Синхронизация по ресурсам 337
Синхронизация по событиям 338
10.4. Класс Thread и интерфейсы Runnable и Callable. Создание и запуск потока выполнения 339
10.5. Поля и методы, заданные в классе Thread 342
10.6. Работа многопоточных приложений в многопроцессорных и многоядерных системах 344
Причины перехода к многопроцессорным и многоядерным системам 344
Пример многопоточной программы 346
Работа многопоточного приложения на многоядерном компьютере 352
10.7. Синхронизация на основе интерфейсов Lock и Condition 354
Интерфейс Lock 354
Интерфейс Condition 358
Краткие итоги по главе 10 360
Задания 361

Глава 11. Введение в сетевое программирование

363
11.1. Краткая справка по языку HTML 363
Система WWW и язык HTML 363
Теги и их атрибуты 365
Математические и специальные символы, греческие буквы 371
11.2. Апплеты 373
Структура апплета 373
Примеры апплетов. Аннотация @Override 375
Создание проекта с апплетами 380
Редактор HTML-документов, стилей CSS и кода JavaScript 382
11.3. Сервлеты 387
Создание сервлета и установка сервера приложений 389
Локализация сервлетов — работа с языковыми форматами 397
11.4. Технология JSP — Java Server Pages 401
11.5. Технология JSTL — JSP Standard Tag Library 405
Краткие итоги по главе 11 408
Задания 409

Глава 12. Встроенные классы

411
12.1. Виды встроенных классов 411
12.2. Вложенные (nested) классы и интерфейсы 411
12.3. Внутренние (inner) классы 413
12.4. Локальные (local) классы 415
12.5. Анонимные (anonimous) классы и обработчики событий 416
12.6. Анонимные (anonimous) классы и слушатели событий (listeners) 416
Краткие итоги по главе 12 420
Задания 421

Глава 13. Приложение с графическим интерфейсом — DesktopApplication

423
13.1. Структура простой заготовки DesktopApplication 423
13.2. Исходный код класса DesktopApplication 425
13.3. Исходный код класса DesktopApplicationView 427
13.4. Конструктор главной формы приложения. Ресурсы приложения и концепция управляющих синглетонов 431
13.5. Аннотация @Action и показ справки 436
13.6. Концепция управляющего объекта-модели. Модель TaskMonitor, класс Task и обработчик propertyChange 438
13.7. Создание задачи типа Task. Назначение иконок и добавление изображений 445
13.8. Локализация приложения 450
13.9. Измерение времени и досрочное прекращение выполнения задания 456
13.10. Работа с межпрограммным буфером обмена — Сlipboard 457
Копирование строк и изображений из буфера обмена в программу 457
Копирование строк из программы в буфер обмена. Класс StringSelection 459
Копирование изображений из программы в буфер обмена. Создание класса ImageSelection 461
13.11. Многопоточная система вычислений и индикации 464
Краткие итоги по главе 13 468
Задания 470

Глава 14. Программирование мобильных телефонов

471
14.1. Спецификация Java Micro Edition. Конфигурации и профили. Мидлеты 471
14.2. Создание приложений для мобильных устройств 472
14.3. Дизайнер пользовательского интерфейса мидлета 478
14.4. Исходный код мидлета Hello, World! 483
14.5. Заготовка мидлета "Крестики-нолики" 491
14.6. Код бизнес-логики мидлета 500
14.7. Создание собственного компонента, являющегося наследником TableItem, и мидлета на его основе. Создание библиотеки 507
14.8. Запуск мидлета "Крестики-нолики" на реальном телефоне 515
14.9. Пример мидлета с переключением экрана и списком выбора 517
14.10. Примеры приложений для мобильных телефонов, поставляемые со средой NetBeans 518
Краткие итоги по главе 14 522
Задания 523

Глава 15. Компонентное программирование

525
15.1. Компонентная архитектура JavaBeans 525
15.2. Мастер создания компонента в NetBeans 5.5 526
15.3. Пример создания компонента в NetBeans 5.5 — панель с заголовком 529
15.4. Добавление в компонент новых свойств 533
15.5. Добавление в компонент новых событий 535
Краткие итоги по главе 15 539
Задания 541

Глава 16. Платформо-зависимые методы и модуль C/C++ Pack

543
16.1. Использование динамических библиотек. Объявление платформо-зависимых (native) методов 543
16.2. Интерфейс JNI (Java Native Interface) взаимодействия Java с C/C++. Соответствие типов Java и C++ 544
16.3. Пакет C/C++ Pack. Подключение компиляторов C++, C и библиотек 547
16.4. Создание приложений C++ и C 554
16.5. Пример приложения с native-методом 557
Первый этап. Создание исходного кода Java для native-методов 558
Второй этап. Генерация h-файла заголовка C++, содержащего декларацию методов 558
Третий этап. Написание на C++ реализации методов, заголовки которых заданы в сгенерированном файле jnipackage_JniMultiply.h 560
Четвертый этап. Компиляция кода C++ в динамическую библиотеку (DLL) 560
Пятый этап. Запуск приложения вместе с DLL в NetBeans 561
Шестой этап. Распространение приложения вместе с DLL 561
Краткие итоги по главе 16 565
Задания 566

Глава 17. Отладка и профилировка программ

567
17.1. Отладка приложений в среде NetBeans 567
17.2. Команды режима пошагового выполнения 570
17.3. Пример отладки неправильно работающего приложения 575
17.4. Принцип "презумпции виновности" и тестирование классов 579
17.5. Профилировка приложений 580
17.6. Профилировка отдельных методов 588
17.7. Настройка профилировщика "на лету". Точки профилировки 595
17.8. Нахождение проблем с использованием памяти — телеметрия 601
17.9. Профилировка использования памяти классами 605
Краткие итоги по главе 17 610
Задания 611
Заключение 613
Приложение. Описание прилагаемого компакт-диска 615
Литература 621
Основная литература 621
Дополнительная литература 621
Предметный указатель 623


На главную | Где купить | Авторам | Вакансии | Реклама | Издательство | Каталог | Статьи наших авторов | Контакты
© 2001–2017 Издательство «БХВ-Петербург».
Все права защищены. Частичное или полное копирование текстов, слоганов и фотоизображений без письменного согласия Правообладателя запрещено.