Меню сайта

Урок 3. Введение в язык Java

Исходный файл на языке Java — это текстовый файл, содержащий в себе одно илинесколько описаний классов. Транслятор Java предполагает, что исходный текстпрограмм хранится в файлах с расширениями Java. Получаемый в процессе трансляциикод для каждого класса записывается в отдельном выходном файле, с именемсовпадающем с именем класса, и расширением class.

Прежде всего, в этой главе мы напишем, оттранслируем, изапустим каноническую программу «Hello World”. После этого мы рассмотрим всесущественные лексические элементы, воспринимаемые Java-транслятором: пробелы,комментарии, ключевые слова, идентификаторы, литералы, операторы и разделители.К концу главы вы получите достаточно информации для того чтобы самостоятельноориентироваться в хорошей Java-программе.

Hello World

Итак, вот ваша первая Java-программа:

class HelloWorld {

public static void main (String args []) {

System. out. println («Hello World»)-

}

}

Для того, чтобы поработать с приведенными в книге примерами вамнужно получить по сети из Sun Microsystems и установить Java Developers Kit —пакет для разработки Java-приложений (http://java.sun.com/products/jdk).Полное описание утилит пакетаJDK – в Приложении 1.

Язык Java требует, чтобы весь программный код был заключенвнутри поименованных классов. Приведенный выше текст примера надо записать вфайл HelloWorld.java. Обязательно проверьте соответствие прописных букв в именифайла тому же в названии содержащегося в нем класса. Для того, чтобыоттранслировать этот пример необходимо запустить транслятор Java — javac, указавв качестве параметра имя файла с исходным текстом:

С: &#92-&gt- javacHelloWorld.Java

Транслятор создаст файл HelloWorld.class с независимым отпроцессора байт-кодом нашего примера. Для того, чтобы исполнить полученный код,необходимо иметь среду времени выполнения языка Java (в нашем случае этопрограмма java), в которую надо загрузить новый класс для исполнения.Подчеркнем, что указывается имя класса, а не имя файла, в котором этот класссодержится.

С: &gt- java HelloWorld

Hello World

Полезного сделано мало, однако мы убедились, что установленныйJava-транслятор и среда времени выполнения работают.

Шаг за шагом

Конечно, HelloWorld — это тривиальный пример. Однако даже такаяпростая программа новичку в языке Java может показаться пугающе сложной, поскольку оназнакомит вас с массой новых понятий и деталей синтаксиса языка Давайтевнимательно пройдемся по каждой строке нашего первого примера, анализируя теэлементы, из которых состоит Java-программа.

Строка 1

class HelloWorld {

В этой строке использовано зарезервированное слово class. Оно говориттранслятору, что мы собираемся описать новый класс.Полное описание класса располагаетсямежду открывающей фигурной скобкой в первой строке и парной ей закрывающейфигурной скобкой в строке 5. Фигурные скобки в Java используются точно так же, как в языках С иС++.

Строка 2

public static void main (String args []) {

Такая, на первый взгляд, чрезмерно сложная строка примераявляется следствием важного требования, заложенного при разработке языка Java.Дело в том, что в Java отсутствуют глобальные функции. Поскольку подобныестроки будут встречаться в большинстве примеров первой части книги, давайтепристальнее рассмотрим каждый элемент второй строки.

public

Разбивая эту строку на отдельные лексем
ы, мы сразу сталкиваемсяс ключевым словом
public. Это — модификатор доступа, которыйпозволяет программисту управлять видимостью любого метода и любой переменной. Вданном случае модификатор доступа public означает, что методmain виден и доступен любому классу.Существуют еще 2 указателя уровня доступа — private и protected, с которыми мы более детально познакомимся вглаве 8.

static

Следующее ключевое слово — static. С помощью этого слова объявляются методы ипеременные класса, используемые для работы с классом в целом. Методы, вобъявлении которых использовано ключевое слово static, могут непосредственноработать только с локальными и статическими переменными.

void

У вас нередко будет возникать потребность в методах, которыевозвращают значение того или иного типа: например,int для целых значений,floatдлявещественных или имя класса для типов данных, определенных программистом. Внашем случае нужно просто вывести на экран строку, а возвращать значение изметода main нетребуется. Именно поэтому и был использован модификаторvoid. Более детально этот вопрособсуждается в главе 4.

main

Наконец, мы добрались до имени метода main. Здесь нет ничего необычного, просто всесуществующие реализации Java-интерпретаторов, получив команду интерпретироватькласс, начинают свою работу с вызова методаmain. Java-транслятор может оттранслировать класс, в которомнет метода main. А вот Java-интерпретатор запускать классы безметода main неумеет.

Все параметры, которые нужно передать методу, указываются внутри пары круглыхскобок в виде списка элементов, разделенных символами «-» (точка с запятой).Каждый элемент списка параметров состоит из разделенных пробелом типа иидентификатора. Даже если у метода нет параметров, после его имени все равнонужно поставить пару круглых скобок. В примере, который мы сейчас обсуждаем, уметода mainтолько один параметр, правда довольно сложного типа.

Элемент String args[] объявляет параметр с именемargs, который является массивомобъектов — представителей класса String. Обратите внимание на квадратные скобки, стоящиепосле идентификатора args. Они говорят о том, что мы имеем дело с массивом, а нес одиночным элементом указанного типа. Мы вернемся к обсуждению массивов вследующей главе, а пока отметим, что тип String— это класс. Более детально о строкахмы поговорим в главе 9.

Строка 3

System. out. prlntln(«Hello World!»)-

В этой строке выполняется методprintln объектаout. Объектout объявлен в классе OutputStream и статическиинициализируется в классе System. В главах 9 и 13 у вас будет шанспознакомиться с нюансами работы классов String и OutputStream.

Закрывающей фигурной скобкой в строке 4 заканчиваетсяобъявление метода main, а такая же скобка в строке 5 завершает объявлениекласса HelloWorld.

Лексические основы

Теперь, когда мы подробно рассмотрели минимальный Java-класс,давайте вернемся назад и рассмотрим общие аспекты синтаксиса этого языка.Программы на Java —
это набор пробелов, комментариев, ключевых слов,идентификаторов, литеральных констант, операторов иразделителей.

Пробелы

Java — язык, которыйдопускает произвольное форматирование текста программ. Для того, чтобы программаработала нормально, нет никакой необходимости выравнивать ее текст специальнымобразом. Например, класс HelloWorld можно было записать в двух строках или любымдругим способом, который придется вам по душе. И он будет работать точно так жепри условии, что между отдельными лексемами (между которыми нет операторов илиразделителей) имеется по крайней мере по одному пробелу, символу табуляции илисимволу перевода строки.

Комментарии

Хотя комментарии никак не влияют на исполняемый кодпрограммы, приправильном использовании они оказываются весьма существенной частью исходноготекста. Существует три разновидности комментариев: комментарии в одной строке,комментарии в нескольких строках и, наконец, комментарии для документирования.Комментарии, занимающие одну строку, начинаются с символов // и заканчиваются вконце строки. Такой стиль комментирования полезен для размещения краткихпояснений к отдельным строкам кода:

а = 42- // если 42 — ответ, то каков же был вопрос?

Для более подробных пояснений вы можете воспользоваться комментариями,размещенными на нескольких строках, начав текст комментариев символами /* изакончив символами */ При этом весь текст между этими парами символов будетрасценен как комментарий и транслятор его проигнорирует.

/*

* Этот код несколько замысловат…

* Попробую объяснить:

* ….

*/

Третья, особая форма комментариев, предназначена для сервиснойпрограммы javadoc, которая использует компоненты Java-транслятора дляавтоматической генерации документации по интерфейсам классов. Соглашение,используемое для комментариев этого вида, таково: для того, чтобы разместитьперед объявлением открытого (public) класса, метода или переменнойдокументирующий комментарий, нужно начать его с символов /** (косая черта и двезвездочки). Заканчивается такой комментарий точно так же, как и обычныйкомментарий — символами */. Программа javadoc умеет различать в документирующихкомментариях некоторые специальные переменные, имена которых начинаются ссимвола @. Вот пример такого комментария:

/**

* Этот класс умеет делать замечательные вещи. Советуем всякому, кто

* захочет написать еще более совершенный класс, взять его в качестве

* базового.

* @see Java. applet. Applet

* &copy-author Patrick Naughton

* @version 1. 2

*/

class CoolApplet extends Applet { /**

* У этого метода два параметра:

* @param key — это имяпараметра.

* @param value — это значениепараметра с именем key.

*/ void put (String key, Object value) {

Зарезервированные ключевые слова

Зарезервированные ключевые слова — это специальныеидентификаторы, которые в языке Java используются для того, чтобы идентифицироватьвстроенные типы, модификаторы и средства управления выполнением программы. Насегодняшний день в языке Java имеется 59 зарезервированных слов (см. таблицу 2).Эти ключевые слова совместно с синтаксисом операторов и разделителей входят вописание языка Java. Они могут применяться только по назначению, ихнельзя использовать в качестве идентификаторов для имен переменных, классов илиметодов.

Таблица 2

Зарезервированные слова Java


abstract

boolean

break

byte

byvalue

Категория: Обучение Java | Дата: 18.04.13

Меню раздела
Блок