Введение
Что такое Java
Структура книги
Выполнение Java-программы
Что такое JDK
Что такое JRE
Как установить JDK
Как использовать JDK
Интегрированные среды Java
Особая позиция Microsoft
Java в Internet
Литература по Java
Благодарности

Часть I. Базовые конструкции языка Java

Глава 1. Встроенные типы данных,
операции над ними
Первая программа на Java
Комментарии
Константы
Целые
Действительные
Символы
Строки
Имена
Примитивные типы данных и операции
Логический тип
Логические операции
Целые типы
Операции над целыми типами
Арифметические операции
Приведение типов
Операции сравнения
Побитовые операции
Сдвиги
Вещественные типы
Операции присваивания
Условная операция
Выражения
Приоритет операций
Операторы
Блок
Операторы присваивания
Условный оператор
Операторы цикла
Оператор continue и метки
Оператор break
Оператор варианта
Массивы
Многомерные массивы
Заключение

Глава 2. Объектно-ориентированное
программирование в Java
Парадигмы программирования
Принципы объектно-ориентированного
программирования
Абстракция
Иерархия
Ответственность
Модульность
Принцип KISS
Как описать класс и подкласс
Абстрактные методы и классы
Окончательные члены и классы
Класс Object
Конструкторы класса
Операция new
Статические члены класса
Класс Complex
Метод main()
Где видны переменные
Вложенные классы
Отношения "быть частью" и "являться"
Заключение

Глава 3. Пакеты и интерфейсы
Пакет и подпакет
Права доступа к членам класса
Размещение пакетов по файлам
Импорт классов и пакетов
Java-файлы
Интерфейсы
Design patterns
Заключение

Часть II. Использование классов, входящих
в Java Development Kit

Глава 4. Классы-оболочки
Числовые классы
Класс Boolean
Класс Character
Класс BigInteger
Класс BigDecimal
Класс Class

Глава 5. Работа со строками
Класс String
Как создать строку
Сцепление строк
Манипуляции строками
Как узнать длину строки
Как выбрать символы из строки
Как выбрать подстроку
Как сравнить строки
Как найти символ в строке
Как найти подстроку
Как изменить регистр букв
Как заменить отдельный символ
Как убрать пробелы в начале и
конце строки
Как преобразовать данные другого
типа в строку
Класс StringBuffer
Конструкторы
Как добавить подстроку
Как вставить подстроку
Как удалить подстроку
Как удалить символ
Как заменить подстроку
Как перевернуть строку
Синтаксический разбор строки
Класс StringTokenizer
Заключение

Глава 6. Классы-коллекции
Класс Vector
Как создать вектор
Как добавить элемент в вектор
Как заменить элемент
Как узнать размер вектора
Как обратиться к элементу вектора
Как узнать, есть ли элемент в векторе
Как узнать индекс элемента
Как удалить элементы
Класс Stack
Класс Hashtable
Как создать таблицу
Как заполнить таблицу
Как получить значение по ключу
Как узнать наличие ключа или значения
Как получить все элементы таблицы
Как удалить элементы
Класс Properties
Интерфейс Collection
Интерфейс List
Интерфейс Set
Интерфейс SortedSet
Интерфейс Map
Вложенный интерфейс Map.Entry
Интерфейс SortedMap
Абстрактные классы-коллекции
Интерфейс Iterator
Интерфейс ListIterator
Классы, создающие списки
Двунаправленный список
Классы, создающие отображения
Упорядоченные отображения
Сравнение элементов коллекций
Классы, создающие множества
Упорядоченные множества
Действия с коллекциями
Методы класса Collections
Заключение

Глава 7. Классы-утилиты
Работа с массивами
Локальные установки
Работа с датами и временем
Часовой пояс и летнее время
Класс Calendar
Подкласс GregorianCalendar
Представление даты и времени
Получение случайных чисел
Копирование массивов
Взаимодействие с системой

Часть III. Создание графического интерфейса
пользователя и апплетов

Глава 8. Принципы построения графического
интерфейса
Компонент и контейнер
Иерархия классов AWT
Заключение

Глава 9. Графические примитивы
Методы класса Graphics
Как задать цвет
Как нарисовать чертеж
Класс Polygon
Как вывести текст
Как установить шрифт
Как задать шрифт
Класс FontMetrics
Возможности Java 2D
Преобразование координат
Класс AffineTransform
Рисование фигур средствами Java 2D
Класс BasicStroke
Класс GeneralPath
Классы GradientPaint и TexturePaint
Вывод текста средствами Java 2D
Методы улучшения визуализации
Заключение

Глава 10. Основные компоненты
Класс Component
Класс Cursor
Как создать свой курсор
События
Класс Container
События
Компонент Label
События
Компонент Button
События
Компонент Checkbox
События
Класс CheckboxGroup
Как создать группу радиокнопок
Компонент Choice
События
Компонент List
События
Компоненты для ввода текста
Класс TextComponent
События
Компонент TextField
События
Компонент TextArea
События
Компонент Scrollbar
События
Контейнер Panel
Контейнер ScrollPane
Контейнер Window
События
Контейнер Frame
События
Контейнер Dialog
События
Контейнер FileDialog
События
Создание собственных компонентов
Компонент Canvas
Создание "легкого" компонента

Глава 11. Размещение компонентов
Менеджер FlowLayout
Менеджер BorderLayout
Менеджер GridLayout
Менеджер CardLayout
Менеджер GridBagLayout
Заключение

Глава 12. Обработка событий
Событие ActionEvent
Обработка действий мыши
Классы-адаптеры
Обработка действий клавиатуры
Событие TextEvent
Обработка действий с окном
Событие ComponentEvent
Событие ContainerEvent
Cобытие FocusEvent
Событие ItemEvent
Событие AdjustmentEvent
Несколько слушателей одного источника
Диспетчеризация событий
Создание собственного события

Глава 13. Создание меню
Всплывающее меню

Глава 14. Апплеты
Передача параметров
Параметры тега
Сведения об окружении апплета
Изображение и звук
Слежение за процессом загрузки
Класс MediaTracker
Защита от апплета
Заключение

Глава 15. Изображения и звук
Модель обработки "поставщик-потребитель"
Классы-фильтры
Как выделить фрагмент изображения
Как изменить цвет изображения
Как переставить пикселы изображения
Модель обработки прямым доступом
Преобразование изображения в Java 2D
Аффинное преобразование изображения
Изменение интенсивности изображения
Изменение составляющих цвета
Создание различных эффектов
Анимация
Улучшение изображения двойной
буферизацией
Звук
Проигрывание звука в Java 2
Синтез и запись звука в Java 2

Часть IV. Необходимые конструкции Java

Глава 16. Обработка исключительных ситуаций
Блоки перехвата исключения
Часть заголовка метода throws
Оператор throw
Иерархия классов-исключений
Порядок обработки исключений
Создание собственных исключений
Заключение

Глава 17. Подпроцессы
Класс Thread
Синхронизация подпроцессов
Согласование работы нескольких
подпроцессов
Приоритеты подпроцессов
Подпроцессы-демоны
Группы подпроцессов
Заключение

Глава 18. Потоки ввода/вывода
Консольный ввод/вывод
Файловый ввод/вывод
Получение свойств файла
Буферизованный ввод/вывод
Поток простых типов Java
Кодировка UTF-8
Прямой доступ к файлу
Каналы обмена информацией
Сериализация объектов
Печать в Java
Печать средствами Java 2D
Печать файла
Печать страниц с разными параметрами

Глава 19. Сетевые средства Java
Работа в WWW
Работа по протоколу TCP
Работа по протоколу UDP
Приложение. Развитие Java
Переход к Swing
Архиватор jar
Создание архива
Файл описания MANIFEST.MF
Файл INDEX.LIST
Компоненты JavaBeans
Связь с базами данных через JDBC
Сервлеты
Java на сервере

Заключение
Список литературы
Предметный указатель