ebook img

Язык программирования Java. Создание интерактивных приложений для Internet PDF

113 Pages·2006·1.594 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Язык программирования Java. Создание интерактивных приложений для Internet

Петр Карабин УДК 681.3 ББК 32.973.26(cid:5)018.2 К216 Язык программирования Карабин П.Л. Java: К216 Язык программирования Java: Создание интерактивных приложений для Internet. (cid:18) М.: Бук(cid:18)пресс, 2006. (cid:18) 224 с. (cid:18) (Хитрости и тонкости). Создание интерактивных приложений для Internet ISBN 5(cid:5)8321(cid:5)0143(cid:5)9 Учебное пособие по языку программирования Java. Создание языка Java — это один из самых значительных шагов вперед в области разработки сред программирования за последние 20 лет. Язык HTML (Hypertext Markup Language — язык разметки гипертекста) был необходим для статического размещения страниц во «Всемирной паутине» WWW (World Wide Web). Язык Java потребовался для качественного скачка в создании интерактивных продуктов для Internet. УДК 681.3 ББК 32.973.26(cid:5)018.2 © Карабин П.Л., составление, 2006 ISBN 5(cid:5)8321(cid:5)0143(cid:5)9 © Бук(cid:18)пресс, 2006 Содержание Специальный синтаксис для работы со строками . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 Обработка исключений . . . . . . . . . . . . . . . . . . . . . . . .76 Легковесные процессы и синхронизация . . . . . . . .85 Файлы Сводка функций программного интерфейса легковесных процессов . . . . . . . . . . . . . . . . . . . . . . . . .96 Java Утилиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98 Введение в язык Java . . . . . . . . . . . . . . . . . . . . . . . . . .2 Управление памятью . . . . . . . . . . . . . . . . . . . . . . . . . . .108 Шаг за шагом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Выполнение других программ . . . . . . . . . . . . . . . . . .108 Лексические основы . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Апплеты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .218 Переменные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 Типы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Приведение типа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Автоматическое преобразование типов в выражениях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Символы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Тип boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 Пример создания переменных различных типов .19 Массивы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 Многомерные массивы . . . . . . . . . . . . . . . . . . . . . . . . .22 Операторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Приоритеты операторов . . . . . . . . . . . . . . . . . . . . . . .34 Управление выполнением программы . . . . . . . . . .35 Циклы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 Классы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 Пакеты и интерфейсы . . . . . . . . . . . . . . . . . . . . . . . . .57 Переменные в интерфейсах . . . . . . . . . . . . . . . . . . . .63 Работа со строками . . . . . . . . . . . . . . . . . . . . . . . . . . .65 221 222 Java } } Приведенный выше текст примера надо записать в файл HelloWorld.java. Обязательно проверьте соответствие прописных букв в Введение в язык Java имени файла тому же в названии содержащегося в нем класса. Для того, чтобы Исходный файл на языке Java — это оттранслировать этот пример необходимо текстовый файл, содержащий в себе одно или запустить транслятор Java — javac, указав в несколько описаний классов. Транслятор Java качестве параметра имя файла с исходным предполагает, что исходный текст программ текстом: хранится в файлах с расширениями Java. С: \> javac HelloWorld.Java Получаемый в процессе трансляции код для Транслятор создаст файл HelloWorld.class каждого класса записывается в отдельном с независимым от процессора байт(cid:18)кодом выходном файле, с именем совпадающем с нашего примера. Для того, чтобы исполнить именем класса, и расширением class. полученный код, необходимо иметь среду Начнем с упражнения: оттранслируем и времени выполнения языка Java (в нашем запустим каноническую программу «Hello случае это программа java), в которую надо World». После этого рассмотрим все загрузить новый класс для исполнения. существенные лексические элементы, Подчеркнем, что указывается имя класса, а не воспринимаемые Java(cid:18)транслятором: пробелы, имя файла, в котором этот класс содержится. комментарии, ключевые слова, С: > java HelloWorld идентификаторы, литералы, операторы и разделители. Hello World Итак, вот ваша первая Java(cid:18)программа: Полезного сделано мало, однако мы class HelloWorld { убедились, что установленный Java(cid:18)транслятор и среда времени выполнения работают. public static void main (String args []) { System. out. println ("Hello World"); 3 4 Шаг за шагом подобные строки будут встречаться в большинстве примеров первой части книги, Конечно, HelloWorld — это тривиальный давайте пристальнее рассмотрим каждый пример. Однако даже такая простая программа элемент второй строки. новичку в языке Java может показаться public пугающе сложной, поскольку она знакомит вас Это — модификатор доступа, который с массой новых понятий и деталей синтаксиса позволяет программисту управлять видимостью языка. Давайте внимательно пройдемся по любого метода и любой переменной. В данном каждой строке нашего первого примера, случае модификатор доступа public означает, анализируя те элементы, из которых состоит что метод main виден и доступен любому Java(cid:18)программа. классу. Строка 1 static class HelloWorld { Следующее ключевое слово — static. С В этой строке использовано помощью этого слова объявляются методы и зарезервированное слово class. Оно говорит переменные класса, используемые для работы с транслятору, что мы собираемся описать новый классом в целом. Методы, в объявлении класс. Полное описание класса располагается которых использовано ключевое слово static, между открывающей фигурной скобкой в могут непосредственно работать только с первой строке и парной ей закрывающей локальными и статическими переменными. фигурной скобкой в строке 5. Фигурные скобки в Java используются точно так же, как в void языках С и С++. У вас нередко будет возникать потребность в методах, которые возвращают Строка 2 значение того или иного типа: например, int public static void main (String для целых значений, float — для вещественных args []) { или имя класса для типов данных, определенных программистом. В нашем случае Такая, на первый взгляд, чрезмерно нужно просто вывести на экран строку, а сложная строка примера является следствием возвращать значение из метода main не важного требования, заложенного при требуется. Именно поэтому и был использован разработке языка Java. Дело в том, что в Java модификатор void. отсутствуют глобальные функции. Поскольку 5 6 main В этой строке выполняется метод println Наконец, мы добрались до имени метода объекта out. Объект out объявлен в классе main. Здесь нет ничего необычного, просто все OutputStream и статически инициализируется в существующие реализации Java(cid:18) классе System. интерпретаторов, получив команду Закрывающей фигурной скобкой в интерпретировать класс, начинают свою работу строке 4 заканчивается объявление метода main, с вызова метода main. Java(cid:18)транслятор может а такая же скобка в строке 5 завершает оттранслировать класс, в котором нет метода объявление класса HelloWorld. main. А вот Java(cid:18)интерпретатор запускать классы без метода main не умеет. Лексические основы Все параметры, которые нужно передать методу, указываются внутри пары круглых Теперь, когда мы подробно рассмотрели скобок в виде списка элементов, разделенных минимальный Java(cid:18)класс, давайте вернемся символами «;» (точка с запятой). Каждый назад и рассмотрим общие аспекты синтаксиса элемент списка параметров состоит из этого языка. Программы на Java — это набор разделенных пробелом типа и идентификатора. пробелов, комментариев, ключевых слов, Даже если у метода нет параметров, после его идентификаторов, литеральных констант, имени все равно нужно поставить пару круглых операторов и разделителей. скобок. В примере, который мы сейчас обсуждаем, у метода main только один Пробелы параметр, правда довольно сложного типа. Java — язык, который допускает Элемент String args[] объявляет параметр произвольное форматирование текста с именем args, который является массивом программ. Для того, чтобы программа работала объектов — представителей класса String. нормально, нет никакой необходимости Обратите внимание на квадратные скобки, выравнивать ее текст специальным образом. стоящие после идентификатора args. Они Например, класс HelloWorld можно было говорят о том, что мы имеем дело с массивом, записать в двух строках или любым другим а не с одиночным элементом указанного типа. способом, который придется вам по душе. И он будет работать точно так же при условии, Строка 3 что между отдельными лексемами (между System. out. prlntln("Hello World!"); которыми нет операторов или разделителей) имеется по крайней мере по одному пробелу, 7 8 символу табуляции или символу перевода */ строки. Третья, особая форма комментариев, предназначена для сервисной программы Комментарии javadoc, которая использует компоненты Java(cid:18) Хотя комментарии никак не влияют на транслятора для автоматической генерации исполняемый код программы, при правильном документации по интерфейсам классов. использовании они оказываются весьма Соглашение, используемое для комментариев существенной частью исходного текста. этого вида, таково: для того, чтобы разместить Существует три разновидности комментариев: перед объявлением открытого (public) класса, комментарии в одной строке, комментарии в метода или переменной документирующий нескольких строках и, наконец, комментарии комментарий, нужно начать его с символов /** для документирования. Комментарии, (косая черта и две звездочки). Заканчивается занимающие одну строку, начинаются с такой комментарий точно так же, как и символов // и заканчиваются в конце строки. обычный комментарий — символами */. Такой стиль комментирования полезен для Программа javadoc умеет различать в размещения кратких пояснений к отдельным документирующих комментариях некоторые строкам кода: специальные переменные, имена которых а = 42; // если 42 — ответ, то начинаются с символа @. Вот пример такого каков же был вопрос? комментария: /** Для более подробных пояснений вы можете воспользоваться комментариями, * Этот класс умеет делать размещенными на нескольких строках, начав замечательные вещи. Советуем текст комментариев символами /* и закончив * всякому, кто захочет написать еще символами */. При этом весь текст между более совершенный класс, этими парами символов будет расценен как * взять его в качестве базового. комментарий и транслятор его проигнорирует. * @see Java. applet. Applet /* * ©author Patrick Naughton * Этот код несколько замысловат... * @version 1. 2 * Попробую объяснить: */ * …. 9 10 class CoolApplet extends Applet { byvalue /** case * У этого метода два параметра: cast * @param key — это имя параметра. catch * @param value — это значение char параметра с именем key. class */ void put (String key, Object const value) { continue default Зарезервированные ключевые do слова double Зарезервированные ключевые слова — это специальные идентификаторы, которые в else языке Java используются для того, чтобы extends идентифицировать встроенные типы, false модификаторы и средства управления выполнением программы. Эти ключевые слова final совместно с синтаксисом операторов и finally разделителей входят в описание языка Java. float Они могут применяться только по назначению, их нельзя использовать в качестве for идентификаторов для имен переменных, future классов или методов. На сегодняшний день в generic языке Java имеется 59 зарезервированных слов: goto abstract if boolean implements break import byte inner 11 12 instanceof try int var interface void long volatile native while new Отметим, что слова byvalue, cast, const, future, generic, goto, inner, operator, outer, rest, null var зарезервированы в Java, но пока не operator используются. Кроме этого, в Java есть outer зарезервированные имена методов (эти методы наследуются каждым классом, их нельзя package использовать, за исключением случаев явного private переопределения методов класса Object). protected Зарезервированные имена public методов Java rest clone return equals short finalize static getClass super hashCode switch notify syncronized notifyAll this toString throw wait throws transient true 13 14 Идентификаторы шестнадцатеричные. Java распознает Идентификаторы используются для восьмеричные числа по стоящему впереди именования классов, методов и переменных. В нулю. Нормальные десятичные числа не могут качестве идентификатора может использоваться начинаться с нуля, так что использование в любая последовательность строчных и программе внешне допустимого числа 09 прописных букв, цифр и символов приведет к сообщению об ошибке при _ (подчеркивание) и $ (доллар). трансляции, поскольку 9 не входит в диапазон Идентификаторы не должны начинаться с 0…7, допустимый для знаков восьмеричного цифры, чтобы транслятор не перепутал их с числа. Шестнадцатеричная константа числовыми литеральными константами. Java — различается по стоящим впереди символам язык, чувствительный к регистру букв. Это нуль(cid:18)х (0х или 0Х). Диапазон значений означает, что, к примеру, Value и VALUE — шестнадцатеричной цифры — 0…15, причем в различные идентификаторы. качестве цифр для значений 10…15 используются буквы от А до F (или от а до f). Литералы С помощью шестнадцатеричных чисел вы можете в краткой и ясной форме представить Константы в Java задаются их значения, ориентированные на использование в литеральным представлением. Целые числа, компьютере, например, написав Oxffff вместо числа с плавающей точкой, логические 65535. значения, символы и строки можно располагать в любом месте исходного кода. Целые литералы являются значениями типа int, которое в Java хранится в 32(cid:18)битовом Целые литералы слове. Если вам требуется значение, которое по Целые числа — это тип, используемый в модулю больше, чем приблизительно 2 обычных программах наиболее часто. Любое миллиарда, необходимо воспользоваться целочисленное значение, например, 1, 2, 3, 42 константой типа long. При этом число будет — это целый литерал. В данном примере храниться в 64(cid:18)битовом слове. К числам с приведены десятичные числа, то есть числа с любым из названных выше оснований вы основанием 10 — именно те, которые мы можете приписать справа строчную или повседневно используем вне мира прописную букву L, указав таким образом, что компьютеров. Кроме десятичных, в качестве данное число относится к типу long. Например, целых литералов могут использоваться также Ox7ffffffffffffffL или 9223372036854775807L — это числа с основанием 8 и 16 — восьмеричные и значение, наибольшее для числа типа long. 15 16

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.