Глава 3 Введение в язык Java

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

Прежде всего, в этой главе мы напишем, оттранслируем, и запустим каноническую программу “Hello World”. После этого мы рассмотрим все существенные лексические элементы, воспринимаемые Java-транс

Hello World

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

class HelloWorld {

public static void main (String args []) {

System. out. println ("Hello World");

}

}

Для того, чтобы поработать с приведенными в книге примерами вам нужно получить по сети из Sun Microsystems и установить Java Developers Kit — пакет для разработки Java-приложений (

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

С: \> javac HelloWorld.Java

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

С: > java HelloWorld

Hello World

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

Шаг за шагом

Конечно, HelloWorld — это тривиальный пример. Однако даже такая простая программа новичку в языке <

Строка 1

class HelloWorld {

В этой строке использовано зарезервированное слово class. Оно говорит транслятору, что мы собираемся описать новый класс.

Строка 2

public static void main (String args []) {

Такая, на первый взгляд, чрезмерно сложная строка примера является следствием важного требования, заложенного при разработке языка Java. Дело в том, что в

public

Разбивая эту строку на отдельные лексемы, мы сразу сталкиваемся с ключевым словом public. Это — модификатор доступа, ко

static

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

void

У вас нередко будет возникать потребность в методах, которые возвращают значение того или иного типа: например, int для целых

main

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

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

Элемент String args[] объявляет параметр с именем args, который является массивом объектов — представителей кл

Строка 3

System. out. prlntln("Hello World!");

В этой строке выполняется метод println объекта out. Объект<

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

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

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

Пробелы

Java — язык, который допускает произвольное форматирование текста программ. Для того, чтобы программа работала нормально, нет никакой необходимости выравнивать ее текст

Комментарии

Хотя комментарии никак не влияют на исполняемый код программы, при правильном использовании они оказываются весьма существенно

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

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

/*

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

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

* ….

*/

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

/**

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

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

* базового.

* @see Java. applet. Applet

* ©author Patrick Naughton

* @version 1. 2

*/

class CoolApplet extends Applet { /**

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

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

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

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

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

Зарезервированные ключевые слова — это специальные идентификаторы, которые в языке Java используются для того, чтобы идентифиц

Таблица 2

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

abstract

boolean

break

byte

byvalue

case

cast

catch

char

class

const

continue

default

do

double

else

extends

false

final

finally

float

for

future

generic

goto

if

implements

import

inner

instanceof

int

interface

long

native

new

null

operator

outer

package

private

protected

public

rest

return

short

static

super

switch

syncronized

this

throw

throws

transient

true

try

var

void

volatile

while

Отметим, что слова byvalue, cast, const, future, generic, goto, inner, operator, outer, rest, var зарезервированы в

Таблица 3

Зарезервированные имена методов Java

clone

equals

finalize

getClass

hashCode

notify

notifyAll

toString

wait

 

Идентификаторы

Идентификаторы используются для именования классов, методов и переменных. В качестве идентификатора может использоваться любая последовательность строчных и прописных букв, цифр и символов

Литералы

Константы в Java задаются их литеральным представлением. Целые числа, числа с плавающей точкой, логические значения, символы и

Целые литералы

Целые числа — это тип, используемый в обычных программах наиболее часто. Любое целочисленное значение, например, 1, 2, 3, 42 — это целый литерал. В данном примере приведены десятичные числа

Целые литералы являются значениями типа int, которое в Java хранится в 32-битовом слове. Если вам требуется зн

Литералы с плавающей точкой

Числа с плавающей точкой представляют десятичные значения, у которых есть дробная часть. Их можно записывать либо в обычном, либо экспоненциальном форматах. В обычном формате число состоит

Логические литералы

У логической переменной может быть лишь два значения — true (истина) и

Символьные литералы

Символы в Java — это индексы в таблице символов UNICODE. Они пр

Таблица 3. 2. Управляющие последовательности символов

Управляющая последовательность

Описание

\ddd

Восьмеричный символ (ddd)

\uxxxx

Шестнадцатиричный символ UNICODE (xxxx)

\'

Апостроф

\"

Кавычка

\\

Обратная косая черта

\r

Возврат каретки (carriage return)

\n

Перевод строки (line feed, new line)

\f

Перевод страницы (form feed)

\t

Горизонтальная табуляция (tab)

\b

Возврат на шаг (backspace)

Строчные литералы

Строчные литералы в Java выглядят точно также, как и во многих других языках — это произвольный текст, заключенный в пару двой

Операторы

Оператор — это нечто, выполняющее некоторое действие над одним или двумя аргументами и выдающее результат. Синтаксически операторы чаще всего размещаются между идентификаторами и литералами

Таблица 3. 3. Операторы языка Java

+

+=

-

-=

*

*=

/

/=

|

|=

^

^=

&

&=

%

%=

>

>=

<

<=

!

!=

++

--

>>

>>=

<<

<<=

>>>

>>>=

&&

| |

==

=

~

?:

 

instanceof

[ ]

 

Разделители

Лишь несколько групп символов, которые могут появляться в синтаксически правильной Java-программе, все еще остались неназваннами. Это — простые разделители, которые влияют на внешний вид и функциональность

Символы

Название

Для чего применяются

( )

круглые скобки

Выделяют списки параметров в объявлении и вызове метода, также используются для задания приоритета операций в выражениях, выделения выражений в операторах управления выполнением программы, и в операторах приведения т

{ }

фигурные скобки

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

[ ]

квадратные скобки

Используются в объявлениях массивов и при доступе к отдельным элементам массива.

;

точка с запятой

Разделяет операторы.

,

запятая

Разделяет идентификаторы в объявлениях переменных, также используется для связи операторов в заголовке цикла for.

.

точка

Отделяет имена пакетов от имен подпакетов и классов, также используется для отделения имени переменной или метода от имени переменной.

Переменные

Переменная — это основной элемент хранения информации в Java-программе. Переменная характеризуется комбинацией идентификатора, типа и области действия. В зависимости от того, где вы объявил

Объявление переменной

Основная форма объявления переменной такова:

тип идентификатор [ = значение] [, идентификатор [ = значение 7...];

Тип — это либо один из встроенных типов, то есть, byte, short, int, long, char, float, double, boolean, либо имя класса или ин

int a, b, с;

Объявляет три целых переменных а, b, с.

int d = 3, e, f = 5;

Объявляет еще три целых переменных, инициализирует d и f.

byte z = 22;

Инициализирует z.

double pi = 3. 14159;

Объявляет число пи (не очень точное, но все таки пи).

char x = 'x';

Переменная х получает значение 'х'.

В приведенном ниже примере создаются три переменные, соответствующие сторонам прямоугольного треугольника, а затем c помощь

class Variables {

public static void main (String args []) {

double a = 3;

double b = 4;

double c;

с = Math.sqrt (a* a + b* b);

System.out.println ("c = "+ c);

} }

Ваш первый шаг

Мы уже многого достигли: сначала написали небольшую программу на языке Java и подробно рассмотрели, из чего она состоит (блоки




Сайт создан в системе uCoz