Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие Java.doc
Скачиваний:
17
Добавлен:
07.09.2019
Размер:
569.34 Кб
Скачать

Алфавит языка Java

Алфавит языка составляют буквы, цифры и специальные символы. Java является регистро-зависимым языком. Алфавит включает латинские буквы, цифры (0-9), символ «_», знак $.

Цифры языка включают ASCII -цифры 0-9(\u0030-\u0039).

Идентификаторы. Идентификатор - это последовательность неограниченной длины букв и цифр, начинается с буквы и должен быть отличен от ключевого слова, логического литерала или null-литерала.

Буквы и цифры языка взяты из полного набора Unicode-символов. Это позволяет программистам использовать в своих программах идентификаторы, которые пишутся на их родных языках.

Комментарии. Как и в С (С++) используются для пояснения кода и игнорируются компилятором. В Java имеется три вида комментариев:

/* текст */ - весь текст от ASCII -символов /* до ASCII -символов */,

// текст - однострочный комментарий,

/** документация */ - комментарий документация может быть обработан отдельной программой (javadoc), автоматически формирующей документацию. Комментарии не могут быть вложенными.

Ключевые слова. Следующие последовательности символов, сформированные из ASCII -букв, являются ключевыми словами и не могут использоваться как идентификаторы

abstract default if private throw boolean

implements protected throws break double impo

public transient byte else instanceof return

case extends int short void catch

final interface static volatile char finally

long super while class float native

switch const for new synchronized continue

goto package this try do

Типы данных

В языке Java определено восемь простых (или примитивных) типов данных. Для каждого простого типа данных отводится конкретный размер памяти, не зависящий от платформы, на которой выполняется приложение Java:

Таблица

Тип данных

Размер занимаемой области памяти

Значение по умолчанию

boolean

8

false

byte

8

0

char

16

'x0'

short

16

0

int

32

0

long

64

0

float

32

0.0f

double

64

0.0d

Фактически размеры памяти, отведенные для хранения переменной, могут отличаться от приведенных выше, например, для хранения переменной типа short может быть зарезервировано слово размером 32 бита. Так как в языке Java нет указателей, вы не можете адресоваться к элементам массива чисел по относительному смещению этих элементов в оперативной памяти. Следовательно, точный размер элемента в данном случае не играет никакой роли.

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

byte n =2;

float f;

int i; // инициализация 0 по умолчанию

. . .

f=(float)i/n; // ошибка, переменная i не инициализирована явно

i = 7;

f=(float)i/n; // верно

Переменные типа boolean могут принимать только два значения − true и false, не соотносимые с целыми значениями. Нельзя, выполнить преобразование типа boolean, например, к типу int.

В языке Java все целочисленные простые типы данных (byte, short, int и long) являются знаковыми.

Приложение Java может оперировать данными в формате с плавающей точкой, используемыми для хранения чисел с одинарной точностью (float), и с двойной (double).

Простые типы данных также имеют классы «оболочки» − встроенные замещающие классы, которые могут использоваться для создания объектов на основе этих типов. Например, вместо типа int использовать класс Integer, вместо типа long − класс Long и так далее.

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

int val = 5;

Integer Val; // создание неинициализированной ссылки

Val=new Integer(val); // инициализация ссылки

или

Integer Val=new Integer(5); // создание и инициализация ссылки

При этом не может использоваться конструктор без параметра.

После выполнения оператора присваивания ссылка Val будет ссылаться на реальный объект класса Integer и ее можно использовать. Пытка же использовать неинициализированную ссылку приводит к исключению.

Имя объекта Val типа Integer можно передавать функциям в качестве параметра, причем это будет ссылкой на объект.

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

Фрагмент программы, написанный с использованием указателей на переменные простых типов, приведет к ошибке, так как переменные простых типов передаются по значению, а не по ссылке:

int val; // некоторая переменная

void ChangeVal(int *pVal, int nVal)

{

*pVal=nVal;

}

. . .

ChangeVal(&val, 5); // вызов функции

Язык Java позволяет использовать вместо указателей ссылки на объекты. Пользуясь этими ссылками, можно адресовать объекты по их имени, вызывая методы и изменяя значения данных объектов.