→ Пошук по сайту       Увійти / Зареєструватися
Знання Програмування на Java

Типы данных и объявления переменных

 Java

Языки интерпретирующего типа, например, JavaScript не связывают жестко переменную с тем набором значений, которая она может принимать. Это означает, что в ходе выполнения программа одной и той же переменной может быть сначала присвоено числовое значения, т.е. переменная будет иметь числовой тип, затем ей может быть присвоено символьное значение, т.е. переменная станет символьного типа. Такие языки, как JavaScript называют языками со свободной типизацией (loose typed language).

Язык программирования Java, как и другие языки компилирующего типа, является языком со строгой типизацией (strongly typed language). Это означает, что каждая переменная и каждое выражение имеют тип, который должен быть известен во время компиляции программы. Тип ограничивает набор значений, которые могут быть присвоены переменной, либо получены в выражении, ограничивает операции над значениями и определяет реализацию конкретной операции.

В Java определено две категории данных:

· примитивные типы (primitive types);

· ссылочные типы (reference types).

Существует также специальный нулевой тип, тип выражения null, который не имеет имени.

Примитивные типы делятся на булевский тип (boolean) и числовые типы. В свою очередь, числовые типы – это целые типы (byte, short, int, long и char) вещественные типы (float и double). Ссылочные типы – это типы классов, интерфейсов и массивов.

Иерархическая схема типов Java представлена на рис. 2.1.5.

Рис. 2.1.5. Типы переменных языка Java

Объявление переменных (за исключением массивов) в Java имеет следующий вид:

имя-типа идентификатор-переменной;

например:

int x;

String string1;

Если несколько переменных имеют один и тот же тип, их можно объявить в одном предложении, перечислив идентификаторы переменных через запятую:

имя-типа идентификатор-переменной-1, идентификатор-переменной-2,;

например:

int x1, x2, x3;

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

double inputValue;

Переменная является указанием места хранения значения переменной в памяти. Переменная примитивного типа всегда содержит значение переменной указанного типа (например, int), а переменная ссылочного типа хранит ссылку (адрес) объекта указанного типа.

Создавать новые переменные можно в любом месте программы.

Любое объявление переменной имеет свою область действия, границы которой зависят от того, где именно расположено это объявление. При помещении фрагмента текста программы в пару фигурных скобок { } создается новый блок. Блоки в программе на языке Java могут быть вложенными. Переменная доступна в блоке только в том случае, если она определена в этом блоке или в одном из вышестоящих блоков, в который входит текущий блок, например:

// Блок 1

{

int x;

// Блок 2

{

int y;

// Конец блока 2

}

// Конец блока 1

}

Переменная x определена и в блоке 1 и в блоке 2, а переменная y – только в блоке 2.

В отличие от языка C, во внутреннем блоке нельзя объявлять переменную с таким же именем, как во внешней области действия. Поэтому следующий фрагмент программы

int x = 1;

{

int x = 2;

}

приведет к ошибке при компиляции программы (в C каждая переменная x была бы действительна только в своем блоке).

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

Изменить область действия и время жизни переменной можно с помощью модификаторов доступа. Модификаторы вставляются в объявление переменной перед именем-типа.

По умолчанию (без модификатора) переменная доступна только классам в том же пакете, что и класс, в котором она содержится.

Модификатор public определяет, что переменная доступна как внутри, так и вне класса, т. е. переменная является глобальной и доступна любому другому объекту.

Так, если переменная callCount в классе A1Class пакета apckg объявлена с модификатором public:

public int callCount;

то она доступна и в классе B1Class пакета bpckg.

Модификатор private, наоборот, означает, что переменная доступна только в том классе, в котором она была объявлена.

Модификатор final определяет, что переменная имеет постоянное (неизменное) значение и не может быть переопределена. Так, при попытке изменить значение переменной PI, объявленной как

public final PI = 3.14;

будет выдано сообщение об ошибке, и выполнение программы будет прекращено.

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

int final GREEN_COLOR =2;

Примитивные типы Java

 Java
Как уже говорилось, в Java определены следующие примитивные типы: целые типы; вещественные типы; булевский тип.
загрузка...
Теми розділу
Сторінки, близькі за змістом