Java -практика использования
Что такое JavaJava в Internet
Литература по Java
Структура книги
Выполнение Javaпрограммы
Что такое JRE
Как установить JDK
Как использовать JDK
Интегрированные среды Java
Особая позиция Microsoft
Встроенные типы данных, операции над ними
Первая программа на JavaЛистинг 1 1 Первая программа на языке Java;
Окно Command Prompt
Логический тип
Логические операции
Целые типы
Таблица 1 2 Целые типы
Операции над целыми типами
Арифметические операции
Приведение типов
Листинг 1 3 Неверное определение переменной
Операции сравнения
Побитовые операции
Сдвиги
Вещественные типы
Таблица 1 4 Вещественные типы
Комментарии
Листинг 1 2 Первая программа с комментариями
Операции присваивания
Условная операция
Приоритет операций
Операторы
Блок
Операторы присваивания
Условный оператор
Листинг 1 4 Вычисление корней квадратного уравнения
Операторы цикла
Листинг 1 5 Нахождение корня нелинейного
Оператор continue и метки
Константы
Оператор break
Оператор варианта
Массивы
Многомерные массивы
Показывает вывод этой программы
Листинг 1 6 Треугольник Паскаля
Вырод треугольника Паскаля в окноGomrriand Prompt
Заключение
Целые
Действительные
Символы
Строки
Index8
Примитивные типы данных и операции
Типы данных языка Java
Объектно-ориентированное программирование в Java
Парадигмы программированияОкончательные члены и классы
Класс Object
Конструкторы класса
Операция new
Статические члены класса
Листинг 2 3 Статическая переменная
Класс Complex
Листинг 2 4 Класс Complex
Метод main()
Листинг 2 5 Передача параметров в метод main()
Где видны переменные
Листинг 2 6 Видимость и инициализация переменных
Как описать класс и подкласс
Листинг 2 1 Нахождение корня нелинейного
Листинг 2 2 Пример полиморфного метода
Результат выполнения программы Chorus
Абстрактные методы и классы
Пакеты и интерфейсы
Пакет и подпакетПрава доступа к членам класса
Размещение наших классов по пакетам
Листинг 3 1 показывает содержимое этого файла
Листинг 3 1 Файл Base java с описанием пакета p1
Таблица 3 1 Права доступа к полям и методам класса
Интерфейсы
Разные варианты наследования
Листинг 3 3 показывает как можно
Листинг 3 3 Использование интерфейса
Листинг 3 4 Система управления светофором
Design patterns
Листинг 3 5 Схема Singleton
Заключение
Классы-оболочки
Классы примитивных типовЧисловые классы
Методы числовых классов ;
Листинг 4 1 Методы числовых классов
Методы класса Character в программе CharacterTest
Класс Biglnteger
Методы класса Biglnteger в программе BiglntegerTest
Листинг 4 3 Методы класса Biglnteger
Класс Big Decimal
Листинг 4 4 показывает примеры
Методы класса BigDecimal в программе BigDecimalTest
Листинг 4 4 Методы класса BigDecimal
Листинг 4 5 Простейший калькулятор
Методы класса Class в программе ClassTest
Работа со строками
Класс StringКак найти подстроку
Как изменить регистр букв
Как заменить отдельный символ
Как убрать пробелы в начале и конце строки
Как преобразовать данные другого типа в строку
Класс StringBuffer
Конструкторы
Как добавить подстроку
Как вставить подстроку
Как удалить подстроку
Как создать строку
Листинг 5 1 показывает различные
Листинг 5 1 Создание кириллических строк
Как удалить символ
Как заменить подстроку
Как перевернуть строку
Синтаксический разбор строки
Листинг 5 2 Разбиение строки на слова
Заключение
Сцепление строк
Манипуляции строками
Как узнать длину строки
Как выбрать символы из строки
Как выбрать подстроку
Как сравнить строки
Как найти символ в строке
Классы-коллекции
Класс VectorКласс Stack
Листинг 6 2 показывает как можно
Листинг 6 2 Проверка парности скобок
Класс
Листинг 6 4 Вывод системных свойств
Системные свойства
Иерархия классов и интерфейсовколлекций
Интерфейс Collection
Как создать вектор
Интерфейс
Интерфейс Set
Интерфейс SortedSet
Интерфейс Map
Вложенный интерфейс Map Entry
Интерфейс SortedMap
Абстрактные классыколлекции
Интерфейс Iterator
Листинг 6 5 Использование итератора вектора
Интерфейс Listlterator
Классы создающие списки
Как добавить элемент в вектор
Двунаправленный список
Классы создающие отображения
Упорядоченные отображения
Сравнение элементов коллекций
Листинг 6 6 показывает один из
Листинг 6 6 Сравнение комплексных чисел
Классы создающие множества
Упорядоченные множества
Листинг 6 7 Хранение комплексных чисел в упорядоченном виде
Ействия с коллекциями
Методы класса Collections
Заключение
Как заменить элемент
Как узнать размер вектора
Как обратиться к элементу вектора
Как узнать есть ли элемент в векторе
Как узнать индекс элемента
Как удалить элементы
Листинг 6 1 расширяет листинг
Листинг 6 1 Работа с вектором
Классы-утилиты
Абота с массивамиЛистинг 7 1 Применение методов класса Arrays
Взаимодействие с системой
Локальные установки
Работа с датами и времене
Часовой пояс и летнее время
Класс Calendar
Подкласс GregorianCalendar
Представление даты и времени
Получение случайных чисел
Копирование массивов
Принципы построения графического интерфейса
Компонент и контейнерЛистинг 8 1 Слишком простое окно приложения
Листинг 8 2 Простое окно приложения
Окно программыприветствия
Листинг 8 3 Графическая программа с приветствием
Заключение
Графические примитивы
Методы класса GraphicsПреобразование координат
Класс AffineTransform
Листинг 9 3 Преобразование пространства пользователя
Преобразование координат
Рисование фигур средствами Java2D
Класс BasicStroke
Листинг 9 4 Определение перьев
Перья с различными характеристиками
Листинге 9 4 использованы классы
Класс GeneralPath
Классы GradientPaint и TexturePaint
Листинг 9 5 Способы заливки
Способы заливки
Вывод текста средствами Java 2D
Таблица 9 1 Атрибуты шрифта
Листинг 9 6 Вывод текста средствами Java 20
Вывод текста средствами Java 2D
Вывод отдельных символов
Листинг 9 7 Вывод отдельных символов
Методы улучшения визуализации
Таблица 9 2 Методы визуализации и их значения
Заключение
Как задать цвет
Как нарисовать чертеж
Класс Polygon
Как вывести текст
Листинг 9 2 показывает применение
Листинг 9 2 Использование графических примитивов и шрифтов
Пример использования класса Graphics
Возможности Java 2D
Основные компоненты
Класс ComponentСобытия
Компонент Checkbox
События
Класс CheckboxGroup
Как создать группу радиокнопок
Листинг 10 1 Размещение компонентов
Простые компоненты
Компонент Choice
События
Компонент List
События
Листинг 10 2 Использование списков
Компоненты для ввода текста
Класс Cursor
Класс TextComponent
События
Компонент TextField
События
Компонент TextArea
События
Листинг 10 3 Поля ввода
Поля ввода
Компонент Scrollbar
События
Листинг 10 4 Линейки прокрутки для выбора цвета
Полосы прокрутки для выбора цвета
Контейнер Panel
Контейнер ScrollPane
Как создать свой курсор
Контейнер Window
События
Контейнер Framе
События
Листинг 10 5 Создание двух окон
Программа с двумя окнами
Контейнер Dialog
События
Листинг 10 6 Модальное окно доступа
Модальное окно доступа
Контейнер FileDialog
События
Создание собственных компонентов
Компонент Canvas
Демонстрирует вид этих кнопок
Листинг 10 7 Кнопка с рисунком
События
Создание "легкого" компонента
Листинг 10 8 показывает как можно
Листинг 10 8 Создание круглой кнопки ;
Компонент Button
Размещение компонентов
Менеджер FlowLayoutСодержит вид этих компонентов
Листинг 11 1 Менеджер размещения FlowLayout
Размещение компонентов с помощью FlowLayout
Менеджер BorderLayout
Листинг 11 2 Менеджер размещения BorderLayout
Области размещения BorderLayout
Листинг 11 3 Сложная компоновка
Менеджер GridLayout
Листинг 11 4 Менеджер GridLayout
Размещение кнопок менеджером GridLayout
Менеджер Card Lay out
Демонстрирует результат работы программы
Листинг 11 5 Менеджер CardLayout
Менеджер размещения CardLayout
Менеджер GridBagLayout
Таблица 11 1 Поля класса GridBagConstraints
Заключение
Обработка событий
Иерархия классов описывающих события AWTЛистинг 12 1 Обработка события ActionEvent
Обработка события ActionEvent
Листинг 12 2 Самообработка события ActionEvent
Листинг 12 3 Обработка вложенным классом
Событие ActionEvent
Событие ItemEvent
Событие AdjustmentEvent
Листинг 12 5 Программа создания цвета
Несколько слушателей одного источника
Диспетчеризация событий
Создание собственного события
Листинг 12 6 Создание собственного события
Обработка действий мыши
Листинг 12 4 Простейшая программа рисования
Пример работы с программой рисования
Классыадаптеры
Обработка действий клавиатуры
Событие TextEvent
Обработка действий с окном
Событие ComponentEvent
Событие ContainerEvent
Событие FocusEvent
Создание меню
Система менюЛистинг 13 1 Программа рисования с меню
Программа рисования с меню
Всплывающее меню
Листинг 13 2 Программа рисования с всплывающим меню
Программа рисования с всплывающим меню
Апплеты
Листинг 14 1 Апплет HelloWorldЛистинг 14 2 Файл HTML для загрузки апплета HelloWorid
Апплет HelloWorld в окне Internet Explorer
Апплет HelloWorld в окне программы appietviewer
Листинг 14 3 Бегущая строка в строке состояния браузера
Листинг 14 4 Файл RunningString html
Листинг 14 5 Апплет создающий окно
Листинг 14 6 Файл ShowWindow html
Апплет создающий окно
Передача параметров
Листинг 14 7 Параметры для передачи в апплет
Листинг 14 8 Апплет принимающий параметры
Апплет с измененным шрифтом
Параметры тега applet
Сведения об окружении апплета
Изображение и звук
Слежение за процессом загрузки
Класс MediaTracker
Листинг 14 9 Звук и изображение в апплете
Вывод изображения
Защита от апплета
Заключение
Изображения и звук
Модель обработки "поставщикпотребитель"Листинг 15 1 Изображение построенное по точкам
Демонстрирует вывод этой программы
Изображение созданное по точкам
Классы реализующие модель "поставщикпотребитель"
Изменение составляющих цвета
Листинг 15 7 Изменение составляющих цвета
Создание различных эффектов
Листинг 15 8 Создание различных эффектов
Анимация
Листинг 15 9 Простая анимация
Листинг 15 11 Двойная буферизация
Листинг 15 12 Анимация рисованием
Листинг 15 13 Анимация с помощью MemorylmageSource
Звук
Листинг 15 14 Простейшее аудиоприложение
Проигрывание звука в Java 2
Листинг 15 15 Проигрывание аудиоклипа
Листинг 15 16 Проигрывание аудиофайла
Листинг 15 17 Проигрывание MIDIпоследовательности
Синтез и запись звука в Java 2
Листинг 15 18 Создание MIDIпоследовательности нот звукоряда
Классыфильтры
Как выделить фрагмент изображения
Листинг 15 2 Примеры масштабирования изображения
Масштабированное изображение
Как изменить цвет изображения
Листинг 15 3 Изменение цвета всех пикселов ;
Как переставить пикселы изображения
Листинг 15 4 Циклический сдвиг изображения
Модель обработки прямым доступом
Классы реализующие модель прямого доступа
Преобразование изображения в Java 2D
Аффинное преобразование изображения
Листинг 15 5 Аффинное преобразование изображения
Изменение интенсивности изображения
Листинг 15 6 Изменение интенсивности изображения
Изменение интенсивности изображения
Обработка исключительных ситуаций
Листинг 16 1 Программа без обработки исключенийСообщения обработки исключений
Листинг 16 3 Выбрасывание исключения из метода
Часть заголовка метода throws
Листинг 16 4 Обработка исключения в методе
Обработка исключения в методе
Оператор throw
Листинг 16 5 Обработка нескольких типов исключений
Перехват нескольких типов исключений
Иерархия классовисключений
Порядок обработки исключений
Создание собственных исключений
Листинг 16 6 Создание классаисключения
Заключение
Подпроцессы
Класс ThreadЛистинг 17 1 Два подпроцесса запущенных
Два подпроцесса работают без задержки
Подпроцессы работают с задержкой
Листинг 17 2 Класс расширяет Thread
Листинг 17 3 Реализация интерфейса Runnabie
Листинг 17 4 Прекращение работы подпроцессов
Синхронизация подпроцессов
Листинг 17 5 Синхронизация метода
Синхронизация метода
Согласование работы нескольких подпроцессов
Листинг 17 6 Несогласованные подпроцессы
Несогласованная работа двух подпроцессов
Листинг 17 7 Согласование получения и выдачи информации
Согласованная работа подпроцессов
Приоритеты подпроцессов
Подпроцессыдемоны
Группы подпроцессов
Заключение
Потоки ввода/вывода
Иерархия символьных потоковКлассы байтовых потоков
Консольный ввод/вывод
Листинг 18 1 Консольный ввод/вывод
Печать в Java
Листинг 18 7 Печать средствами AWT
Печать средствами Java 2D
Листинг 18 8 Простая печать методами Java 2D
Печать файла
Листинг 18 9 Печать текстового файла
Печать страниц с разными параметрами
Листинг 18 10 Печать страниц с разными параметрами
Файловый ввод/вывод
Получение свойств файла
Листинг 18 2 Определение свойств файла и каталога
Свойства файла и начало вывода каталога
Буферизованный ввод/вывод
Листинг 18 3 Буферизованный файловый ввод/вывод
Поток простых типов Java
Кодировка UTF8
Листинг 18 4 Ввод/вывод данных
Ввод и вывод данных
Прямой доступ к файлу
Каналы обмена информацией
Листинг 18 5 Канал обмена информацией
Данные передаваемые между подпроцессами
Сериализация объектов
Листинг 18 6 Сериализация объекта
Сериализация объекта