JDBC (Java Data Base Connection - соединение с базами данных. <...> Java 2, или Java 2.0 — дальнейшее развитие и усовершенствование спецификации исходного стандарта языка и платформы Java, на который теперь принято ссылаться как на Java 1.0. <...> AWT AWT (Abstract Window Toolkit – инструментарий абстрактного окна) - это исходная платформо-независимая оконная библиотека графического интерфейса (Widget toolkit) языка Java. <...> Swing предоставляет более гибкие интерфейсные компоненты, чем более ранняя библиотека AWT. <...> Команды возврата из метода: return - возврат из метода, возвращающего void; ireturn, lreturn, freturn, dreturn, areturn - возврат значения соответствующего типа. <...> Кроме того, тип возвращаемого значения может быть указан как void. <...> Добавим команду вывода в консоль фразы Proba командой System.out.println (―Proba‖); При наборе команды используем интерактивный подсказчик. <...> Добавим команду вывода в консоль фразы Proba командой System.out.println (―Proba‖); При наборе команды используем интерактивный подсказчик. <...> 44 Листинг программы /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package first; /** * * @author Костян */ public Class Main { /** * @param args the command line arguments */ public static void main(String[] args) { 45 System.out.println("Proba");// Действие } } Внимание. <...> Листинг программы (другая иерархия) /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package first; /** * * @author */ public Class Main { /** * @param args the command line arguments */ public static void main(String[] args) { System.out.println("Proba");// Действие } } Для прогона программы используем команду Выполнить=>Запустить главный проект. <...> . Class HelloWorld { public static void main(String[] args) { System.out.println("Hello World! <...> Имя массива может быть произвольным, в примере выбрано имя args. <...> Компилятор и исполняющая система Java работают только с кодировкой Unicode. <...> 3 метода выводят сообщения обо всех методах, встретившихся по пути "полета" исключения: printStackTrace() - выводит сообщения в стандартный вывод, как правило, это консоль; printStackTrace(PrintStream stream) - выводит сообщения <...>
Программирование_на_языке_Java_Учебное_пособие_для_студентов_направления_«Информатика_и_вычислительная_техника»_.pdf
Оглавление
Оглавление ................................................................. 4
0. Введение ............................................................... 10
0.1. Список литературы
0.2. Что такое Java
0.3. Почему Java
0.4. Сборка мусора
10
10
10
12
1. Библиотеки классов Java .................................... 14
1.1. Библиотеки классов JDK
1.2. Библиотеки классов SDK
1.3. Графичекий инструментарий
1.3.1. AWT
1.3.2. Swing
1.3.3. SWT
14
16
17
17
18
19
2. Ассемблер Java .................................................... 20
2.1. Система команд JVM
2.2. Синтаксис языка JASM
2.2.1. Структура файла
2.2.2. Структура поля
2.2.3. Описание метода
2.3. Этапы работы компилятора
20
22
23
24
24
26
3. ИСР для Java ........................................................ 27
3.1. Основы ИСР для Java
3.1.1. ИСР Eclipse
3.1.2. ИСР NetBeans
3.2. ИСР для Java подробнее
3.2.1. ИСР Eclipse
3.2.2. Основы ИСР NetBeans
3.3. Использование графического режима
27
27
28
28
28
39
47
4. Основы языка Java ............................................... 54
4.1. Первая программа
4.2. Пространства имен
4.3. Алфавит
4.4. Комментарии
4.5. Разделители
4.6. Пробельные символы
4.7. Идентификаторы
4.8. Ключевые слова
4.9. Константы
4.9.1. Целые
4.9.2. Вещественные
4.9.3. Символы
4.9.4. Строки
4.10. Переменные
54
55
56
56
57
57
58
59
59
59
60
60
61
61
4
Стр.4
5. Типы ...................................................................... 63
5.1. Иерархия типов данных
5.2. Преобразования типов
5.3. Логический тип
5.3.1. Задание
5.4. Логические операции
5.5. Целые типы
5.5.1. Задание
5.5.2. Арифметика с целыми числами
5.5.3. Сдвиги
5.5.4. Побитовые операции
5.5.5. Операции присваивания
5.6. Вещественные типы
5.6.1. Задание вещественного типа
63
64
65
65
65
65
65
66
67
68
68
69
69
5.6.2. Операции над вещественными числами70
5.7. Операции сравнения
70
6. Выражения ........................................................... 71
7. Решения и ветвления........................................... 73
7.1. Безусловный переход вызовом функций 73
7.2. Инструкция if; else
7.3. Вложенные инструкции if; else
7.4. Инструкции switch, case
73
73
74
8. Циклы ................................................................... 76
8.1. Инструкция for
8.2. Инструкция while
8.3. Инструкция do-while
8.4. Безусловные переходы
8.4.1. Инструкция break
8.4.2. Инструкция continue
8.5. Вечные циклы
76
76
77
77
77
78
79
9. Обработка ошибок и исключений ..................... 80
9.1. Введение
9.2. Классы исключений
9.3. Перехват и огбработка исключений
9.3.1. Блоки try, catch
9.3.2. Блоки try, catch, finally
9.3.3. Оператор throw
9.3.4. Порядок обработки исключений
80
80
83
83
84
85
85
9.3.5. Создание собственных исключений 86
9.3.6. Заключение
10. Работа со строками ............................................ 88
10.1. Класс String
87
88
10.1.1. Создание строк
10.1.2. Сцепление строк
10.1.3. Длина строки
88
90
90
5
Стр.5
10.1.4. Символы строки
10.1.5. Подстроки
10.1.6. Сравнение строк
10.1.7. Регистр букв
10.2.2. Конструкторы
10.2.3. Переворот строки
90
92
95
96
10.1.8. Преобразование другого типа в строку96
10.2. Класс StringBuffer
10.2.1. Введение
96
96
97
97
10.2.4. Парсинг - синтаксический разбор строки 97
10.3. Класс StringTokenizer
98
11. Массивы ........................................................... 100
12. Пакеты .............................................................. 103
12.1. Импорт классов и пакетов
12.2. Java файлы
104
105
13. Интерфейсы ..................................................... 106
14. Классы оболочки ............................................. 110
14.1. Числовые классы
14.2. Класс Boolean
14.3. Класс Character
14.4. Класс Biglnteger
14.5. Класс BigDecimal
14.6. Класс Class
111
111
112
113
114
115
15. Классы коллекции ........................................... 117
15.1. Класс Vector
15.2. Класс Stack
15.3. Класс Hashtable
15.4. Класс Properties
15.5. Интерфейс Collection
15.6. Интерфейс List
15.7. Интерфейс Set и SortedSet.
15.8. Интерфейс Map
15.9. Абстрактные классы-коллекции
15.10. Интерфейс Iterator
15.11. Интерфейс Listlterator
15.12. Классы, создающие списки
15.13. Классы отображений
15.13.1. Обычные отображения
15.13.2. Упорядоченные отображения
15.14. Классы множеств
15.14.1. Простые множества
15.14.2. Упорядоченные множества
15.15. Класс Collections
15.16. Утилиты
15.17. Класс Arrays - массивы
117
119
120
122
123
124
124
125
126
127
127
128
128
128
129
130
130
130
131
132
132
6
Стр.6
15.17.1. Сортировка
15.17.2. Поиск
15.17.3. Заполнение
15.17.4. Копирование массивов
15.20. Часовой пояс и летнее время
15.21. Класс Calendar
15.21.1. Подкласс GregorianCalendar
15.21.2. Представление даты и времени
15.22. Классы случайных чисел
15.22.1. Класс Math
15.22.2. Класс Random
132
133
133
134
15.18. Класс Locale - локальные установки 134
15.19. Класс Date - дата
135
137
138
138
139
140
140
140
16. Графический интерфейс ................................. 143
16.1. Принципы построения
16.2. Класс Graphics
16.2.1. Графические примитивы
16.2.2. Задание цвета
16.2.3. Рисованные примитивы
16.2.4. Основной метод рисования
16.2.5. Примитивы с заливкой
16.2.6. Вывод текста
16.3. Возможности Java 2D
16.3.1. Введение
16.3.2. Преобразование координат
16.3.3. Рисование фигур
16.3.4. Класс GeneralPath
15.23. Класс Runtime - взаимодействие с системой 141
143
144
144
145
147
147
148
149
152
152
153
155
156
16.3.5. Классы GradientPaint и TexturePaint 157
16.3.6. Вывод текста средствами Java 2D 158
16.3.7. Методы улучшения визуализации 162
16.4. Библиотека AWT
16.4.1. Компонент и контейнер
16.4.2. Иерархия классов AWT
16.4.3. Класс Component
16.4.4. Компонент Label
16.4.5. Компонент Button
16.4.6. Компонент Checkbox
16.4.7. Компонент CheckboxGroup
16.4.8. Компонент Choice
16.4.9. Компонент List
16.4.10. Класс TextComponent
16.4.11. Компонент TextField
16.4.12. Компонент TextArea
16.4.13. Компонент Table
163
163
167
168
172
172
173
173
175
176
178
179
179
181
7
Стр.7
16.4.14. Компонент Scrollbar
16.4.15. Контейнер Panel
16.4.16. Контейнер ScrollPane
16.4.17. Контейнер Window
16.4.18. Контейнер Framе
16.4.19. Контейнер Dialog
16.4.20. Контейнер FileDialog
16.4.21. Класс MenuBar - меню
16.4.25. Создание "легкого" компонента
16.4.26. Размещение компонентов
16.4.27. Менеджер FlowLayout
16.4.28. Менеджер BorderLayout
16.4.29. Менеджер GridLayout
16.4.30. Менеджер CardLayout
16.4.31. Менеджер GridBagLayout
16.4.32. Обработка событий
16.4.33. Обработка действий мыши
16.4.34. Классы-адаптеры
16.4.37. Обработка действий с окном
16.4.38. Событие ComponentEvent
16.4.39. Событие ContainerEvent
16.4.40. Событие FocusEvent
16.4.41. Событие ItemEvent
16.4.42. Событие AdjustmentEvent
16.4.43. Диспетчеризация событий
16.6. Компоненты JavaBeans
17.2. Изображение и звук в апплетах
17.3. Класс MediaTracker
17.4. Защита от апплета
17.5. Заключение
181
184
185
185
186
188
190
191
16.4.22. Класс РорuрMenu - всплывающее меню 196
16.4.23. Создание собственных компонентов199
16.4.24. Компонент Canvas
199
202
203
203
205
208
209
211
212
216
217
16.4.35. Обработка действий клавиатуры 218
16.4.36. Событие TextEvent
219
219
219
220
220
221
221
222
16.4.44. Создание собственного события 224
16.5. Библиотека Swing
225
226
17. Апплеты ............................................................ 227
17.1. Основы
227
233
234
236
237
18. Изображение и звук ........................................ 238
18.1. Введение
238
18.2. Модель обработки "поставщик-потребитель" 238
18.3. Модель обработки прямым доступом 246
18.4. Преобразование изображения в Java 2D 248
18.4.1. Аффинное преобразование изображения 249
8
Стр.8
18.4.2. Изменение интенсивности изображения251
18.4.3. Изменение составляющих цвета
18.4.4. Создание различных эффектов
18.5. Анимация
18.5.1. Способы
18.6. Звук
18.5.2. Двойная буферизация
18.6.1. Введение
18.6.2. Проигрывание звука в Java 2
18.6.3. События
18.6.4. Синтез и запись звука в Java 2
19.2. Класс Thread содержимое
19.3. Согласование работы подпроцессов
19.4. Приоритеты подпроцессов
19.5. Подпроцессы-демоны
19.6. Группы подпроцессов
19.7. Заключение
253
253
255
255
257
262
262
263
266
267
19. Thread – нити (подпроцессы) ......................... 271
19.1. Понятия
271
273
274
275
276
276
277
20. Ввод-вывод ...................................................... 278
20.1. Потоки ввода/вывода
20.2. Классы пакета java.io
20.3. Консольный ввод/вывод
20.4. Файловый ввод/вывод
20.5. Получение свойств файла
20.6. Буферизованный ввод/вывод
20.7. Поток простых типов Java
20.8. Прямой доступ к файлу
20.9. Каналы обмена информацией
20.10. Сериализация объектов
20.11. Печать в Java
20.12. Печать средствами Java 2D
21.2. Работа в WWW
21.3. Работа по протоколу TCP
21.4. Работа по протоколу UDP
278
279
282
283
284
286
287
288
288
289
291
292
21. Сетевые средства ............................................. 295
21.1. Введение
295
298
302
306
22. Архиватор jar ................................................... 309
23. Связь с базами данных через JDBC ............... 310
24. Сервлеты .......................................................... 313
25. Java на сервере ................................................. 316
9
Стр.9
0. Введение
0.1. Список литературы
1. Эккель Б.. Философия Java. Библиотека программиста. 4-е изд. – СПб.: Питер,
2009. – 640 с.
2. Хорстманн К. Java 2. Библиотека профессионала, том 1. Основы. 7-е изд.:
Пер. с англ. - М.: "Вильямс", 2006. - 896 с.
3. Хорстманн К. Java 2. Библиотека профессионала, том 2. Тонкости программирования.
Пер. с англ. - М.: "Вильямс", 2002. - 1120 с.
4. Щилдт Г. Холмс Д. Искусство программирования на Java. Пер. с англ. - М.:
"Вильямс", 2005. - 335 с.
5. Арнольд К., Гослинг Д.. Язык программирования Java. Пер. с англ. - СПб.:
Питер, 1997. - 304 с.
6. Монахов В. Язык программирования Java и среда NetBeans, 3-е издание.
БХВ=Петербург, 2011, 704 с.
7. Казарин С., Клишин А. Среда разработки Java- приложений Eclipse - М.,
2008. 77 с.
8. Хемраджани А. Гибкая разработка приложений на Java с помощью Spring,
Hubernate и Eclipse.:Пер. с англ. - М.: "Вильямс", 2008. - 352 с.
0.2. Что такое Java
Это остров Ява в Малайском архипелаге, территория Индонезии. Это и сорт
кофе, который любят пить создатели Java (произносится "Джава", с ударением
на первом слоге)
Сначала Java (официальный день рождения технологии Java - 23 мая 1995 г.)
предназначалась для программирования бытовых электронных устройств, таких
как телефоны.
Потом Java стала применяться для программирования браузеров - появились
апплеты.
Затем оказалось, что на Java можно создавать полноценные приложения. Их
графические элементы стали оформлять в виде компонентов - появились
JavaBeans, с которыми Java вошла в мир распределенных систем и промежуточного
программного обеспечения.
Остался один шаг до программирования серверов - этот шаг был сделан, появились
сервлеты и EJB (Enterprise JavaBeans).
Серверы должны взаимодействовать с базами данных - появились драйверы
JDBC (Java Data Base Connection). Взаимодействие оказалось удачным, и многие
системы управления базами данных и даже операционные системы включили,
Java в свое ядро, например Oracle, Linux, MacOS X, AIX.
0.3. Почему Java
Современные средства создания Java-приложений разработаны для различных
платформ: Linux, Solaris, Windows и MacOS. Важнейшее преимущество языка
10
Стр.10
Java заключается в том, что приложение, написанное на основе данного языка,
является независимым от платформы и архитектуры процессора, который будет
выполнять алгоритм данного приложения.
Главным звеном в данном процессе является виртуальная машина Java — это
специальная программа, которая имеющийся откомпилированный независимый
байт-код преобразует в набор инструкций для конкретного процессора. Программа
должна быть предварительно установлена на компьютер, где планируется
запуск приложения. Байт-код формируется из кода Java встроенным компилятором
Язык
Java является объектно-ориентированным и поставляется с достаточно
объемной библиотекой классов. Библиотеки классов Java значительно упрощают
разработку приложений, предоставляя в распоряжение программиста мощные
средства решения стандартных задач.
Почти сразу же после появления Java было создано большое количество интегрированных
сред разработки (ИСР) программ для этого языка: Eclipse (Eclipse
Foundation), NetBeans (Sun), JBuilder (Inprise), Visual Age (IBM), VisualCafe
(Symantec) и др. Большинство из существующих ИСР приложений сами написаны
полностью на Java и имеют развитые средства визуального программирования.
Язык
Java на сегодняшний день вхоит в тройку наиболее востребованных языков
прогиммирования. В 2010 году ор был вторым а сейчас стал первым. Ниже
общемировые данные по востребованности языков программирования за апрель
2011 года по данным всемирноизветной компании TIOBE Software..
11
Стр.11