Java -практика использования

       

Java -практика использования

Что такое Java
Java в 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 Сериализация объекта
Сериализация объекта