КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И КИБЕРНЕТИКИ
КАФЕДРА ЭКОНОМИЧЕСКОЙ КИБЕРНЕТИКИ
ПИНЯГИНА О.В.,
КАШИНА О.А.,
АНДРИАНОВА А.А.
Практикум
по программированию
на языке JAVA
УДК 004.43
ББК 32.973.26 – 018.1
Печатается по постановлению редакционно-издательского совета
факультета вычислительной математики и кибернетики
Казанского государственного университета
Рецензенты:
………………………………..
………………………………….
Пинягина О.В., Кашина О.А., Андрианова А.А.
Практикум по программированию на языке Java.: Учебное пособие/ О.В. Пинягина, О.А. Кашина, А.А. Андрианова – Казань: Казанский государственный университет, 2007. – 141 с.
В данном учебном пособии рассматриваются основы языка Java, создание Java-апплетов и Java-приложений, сервлетов и Java Server Pages. Пособие разработано для поддержки компьютерных занятий по курсу “Учебная практика. Java” для студентов, обучающихся по специальности “061800 – Математические методы в экономике” и ориентировано на читателя, знакомого с языком C++, а, следовательно, имеющего представление об объектно-ориентированном программировании. В качестве среды программирования используется JDK 1.4 (или более поздняя версия) и редактор JCreator.
Web-ресурс по данному курсу находится на сайте кафедры экономической кибернетики по адресу: http://kek.ksu.ru/EOS/JAVA/default.html.
Казанский государственный
университет, 2007
Пинягина О.В., Кашина О.А.,
Андрианова А.А., 2007
Содержание
Содержание 3
Предисловие 5
Что нужно для программирования на Java 7
Глава 1. Основы языка Java 8
Создание первого апплета 8
Синтаксис языка. Типы данных. Константы и переменные. Массивы. 11
Классы для типов данных и структур данных 16
Операции Java 18
Операторы Java 19
Глава 2. Объектно-ориентированные принципы Java 21
Инкапсуляция 21
Наследование 24
Абстрактные классы и интерфейсы 25
Полиморфизм 27
Внутренние классы 30
Глава 3. Разработка апплетов 32
Работа с графикой 32
Работа со шрифтами 33
Передача внешних данных в апплет. 35
AWT и обработка событий 39
Обработка событий мыши 47
Обработка событий клавиатуры 51
Работа с потоками 53
Глава 4. Разработка приложений 61
Создание первого приложения 61
Работа с исключениями 62
Работа с файлами 65
Сериализация 72
Работа с базами данных 74
Создание оконных приложений 79
Сетевые приложения 84
Глава 5. Немного о сервлетах и Java Server Pages 93
Что нужно для разработки сервлетов и JSP? 93
Пример сервлета 94
Пример JSP 96
Передача файла из HTML-формы сервлету 98
Апплет как интерфейс к сервлету 100
Использование сервлетов для генерации GIF-изображений 106
Практические задания 109
Задание 1 109
Задание 2 110
Задание 3 111
Задание 4 111
Задание 5. 112
Задание 6 112
Задание 7 114
Приложение 1. ЧАсто задаваемые ВОпросы 115
Приложение 2. Как работать с JCreator 120
Приложение 3. Введение в настраиваемые типы данных 123
Приложение 4. Работа с JDK в режиме командной строки 126
Приложение 5. Коды примеров 130
Литература 143
Предисловие
Язык Java – одно из самых новых и модных средств программирования нашего времени. Он начинал разрабатываться как часть проекта создания передового программного обеспечения для различных бытовых приборов. Можно сказать, что он произошел от языка C++, сохранив 80% его мощности и лишь 20% сложности (первая версия языка была создана в 1995 г. и называлась Oak). Это сокращение сложности привело, как ни странно, к тому, что Java получился более "объектно-ориентированным", чем его славный предок.
Но, разумеется, новый язык был разработан не просто для того, чтобы программисты тратили меньше времени и сил на его изучение. Java имеет собственные характерные черты.
Во-первых, в отличие от других языков программирования, в которых программы компилируются для конкретных типов процессоров, Java создает машинно-независимый промежуточный код, называемый "кодом виртуальной машины". И только при выполнении апплета или запуске автономной программы вызывается так называемая "виртуальная машина Java", которая переводит этот код в двоичный код конкретного процессора. Таким образом, написанная на Java программа будет работать под большинством операционных систем. Заманчиво, не правда ли? Но за любое преимущество приходится чем-то расплачиваться. В данном случае – тем, что у виртуальной машины очень низкая скорость работы. Программы, написанные, к примеру, на языке C и скомпилированные под определенную платформу, выполняются в 10-20 раз быстрее, чем на Java. Закон сохранения: выигрываем в универсальности – проигрываем в скорости (хотя в настоящее время разработаны компиляторы, которые сразу преобразуют исходный код программы в код определенной операционной системы).
Во-вторых, на языке Java можно писать не только автономные программы, но и специальные модули для размещения на web-страницах. Эти модули называются апплетами, а средства их просмотра встроены в большинство браузеров.
В-третьих, язык Java оказался также удобным для разработки web-приложений на серверной стороне – это так называемые сервлеты и Java Server Pages. Созданы несколько web-серверов на платформе Java.
Что же касается первоначальной идеи создания языка Java – разработки программ для бытовой техники – то она в настоящее время выражается, главным образом, в технологии создания «умных домов», а также в разработке игр и прочих приложений для сотовых телефонов и других устройств.
Первая глава учебника рассматривает основные конструкции языка и их применение. Вторая глава посвящена объектно-ориентированным принципам Java. В третьей и четвертой главах рассматриваются разнообразные вопросы, касающиеся построения апплетов и приложений. В пятой главе изложены основы создания сервлетов и Java Server Pages.
Что нужно для программирования на Java
Для работы с Java необходимы следующие программные средства:
JDK,
графическая оболочка,
справочная система.
Базовая часть средств разработки программ на Java представлена в программном комплексе JDK (Java Developer Kit) от компании Sun. Не путайте JDK с JRE (Java Runtime Environment). Второй является составной частью первого и служит только для запуска Java-программ, но никак не для их создания.
Учтите, что без JDK вам никак не обойтись. Даже если вы установите какие-либо редакторы для Java, за их красивым графическим интерфейсом зачастую будет скрываться все тот же JDK.
Установите дистрибутив JDK (он называется как-нибудь вроде j2sdk1_4_0-win.exe) в какой-либо каталог, например, в C:\ j2sdk1.4.0. Теперь можно приступать к написанию программ на Java.
Хотя Java-апплеты и Java-приложения можно запускать в режиме командной строки, разумеется, удобнее использовать какой-либо редактор с графическим интерфейсом, например, JCreator.
При изучении любого нового языка или среды программирования каждый уважающий себя программист использует справочную систему с описанием всех возможностей данного языка. В онлайн-режиме (при наличии доступа в Интернет) удобно применять справочную систему ресурса http://java.sun.com.
Глава 1. Основы языка Java
Создание первого апплета
Апплет – это специальный модуль для размещения на web-странице. Средства просмотра апплетов встроены в большинство браузеров.
Создадим апплет типа "Hello, world!". Для создания апплета выполним следующие действия. Сначала создадим исходный текст апплета. Запустим редактор JCreator и наберем в нем текст
// Простой пример апплета
import java.awt.*;
import java.applet.*;
public class FirstApplet extends Applet
{
String s="Изучаем Java!!!";
public void paint(Graphics g)
{
Font f =new Font("Times New Roman", Font.BOLD, 24);
g.setFont(f);
g.drawString(s, 5, 25);
}
}
В первых строках подключаются стандартные пакеты Java, содержащие классы для работы с графикой и апплетами.
Стандартные классы Java скомпонованы в так называемые пакеты, хранящиеся в архивных файлах с расширением .jar. Система пакетов похожа на систему каталогов и подкаталогов (если архив раскрыть, то как раз и получится некоторая иерархия каталогов и файлов). Таким образом, команда import java.awt.*; (не забывайте точку с запятой!) представляет собой инструкцию: "подключить все классы, содержащиеся в подкаталоге awt корневого каталога классов java".
Любой апплет, который вы создаете, представляет собой производный класс от стандартного класса Applet. В нашем апплете переопределяется только один метод – paint (перерисовка окна). В качестве параметра он получает графический контекст окна.
Метод paint вызывается автоматически каждый раз, когда апплет нуждается в перерисовке. Для принудительной перерисовки следует вызывать метод repaint без параметров, который сам вызовет метод paint.
Текст в окно будем выводить крупным шрифтом размером 24, поэтому сначала создадим объект класса Font. Обратите внимание, что в одном и том же операторе объявляется переменная font типа Font и создается сам объект с помощью операции new. Для этого вызывается конструктор объекта с тремя параметрами. В качестве второго аргумента передается значение статической переменной BOLD класса Font. Выберем созданный шрифт в контекст окна и напечатаем строку "Изучаем Java!".
Любой файл c исходным текстом апплета на Java должен иметь расширение .java. Кроме того, он должен иметь имя, совпадающее с именем класса. Поэтому нам придется сохранить файл под именем FirstApplet.java.
Включите файл в проект и откомпилируйте. Если в файле были синтаксические ошибки, будут выданы соответствующие сообщения. Если ошибок не было, будет создан файл FirstApplet.class.
Для того чтобы запустить апплет на выполнение, нужно создать HTML-страницу следующего вида:
|