Автор: Widowmaker1984

Вопросы 3, 7 (инициализация переменных)

"Что значит слово «инициализация»?"
"Какими значениями инициализируются переменные по умолчанию?"


1. Переменная — это именованная область памяти, куда может быть (пере)записано и откуда может быть прочитано значение определенного типа. Тип и имя переменной обязательно задаются при ее создании (= объявлении) и не могут быть изменены по ходу выполнения программы.

1.1. Тип данных определяет размер и размещение переменной в памяти.

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

тип данных переменная [ = значение], [переменная [= значение], ...] ;

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

скрытый текстint a, b, c; // Объявление трех целых a, b, и c.
int a = 10, b = 10; // Пример инициализации.
byte b = 22; // Инициализация переменной b типа byte.
double pi = 3.14159; // Объявление и присвоение величины пи.
char a = 'a'; // Переменной a типа char присваивается значение 'a'.

1.3. Существует три типа переменных:

- локальные переменные
- переменные экземпляра
- статические переменные или переменные класса

1.3.1. Локальные переменные объявляются в методах, конструкторах или блоках (далее МКБ). Они создаются, когда МКБ запускается; уничтожаются после его завершения; видны только в его пределах. Для них нельзя использовать модификаторы доступа. Реализуются на уровне стека. Для них не существует значения по умолчанию.

1.3.2. Переменные экземпляра объявляются в классе, но за пределами МКБ. Создаются тогда, когда объект создан (ключевое слово new); уничтожаются вместе с ним; являются видимыми для всех МКБ в классе. Внутри класса доступны через имя переменной; в статических методах и других классов — через полное имя (ObjectReference.VariableName). Возможно использование модификаторов доступа. В них хранятся значения, на которые должен ссылаться более одного МКБ; а также основные состояния объекта. Когда для объекта выделяется пространство в стеке, для переменной экземпляра создается соответствующий ей слот. Они имеют значения по умолчанию (для чисел это 0, для логических false, для ссылок на объект null.

1.3.3. Переменные класса (они же статические переменные) объявляются с ключевым словом static в классе, но за пределами МКБ. Создаются при запуске программы; уничтожаются при ее завершении. Видимость аналогична переменной экземпляра, но часто рекомендуется модификатор public, т.к. обычно они используются как константы и должны быть доступны пользователям класса. Константы - переменные, которые объявлены как public/private, final и static. Константы никогда не меняются от первоначального значения. Значения по умолчанию аналогичны переменным экземпляра. Значения могут быть присвоены также в специальных блоках статического инициализатора, код которых выполняется при первой загрузке класса.

Комментарии


Лучшее   Правила сайта   Вход   Регистрация   Восстановление пароля

Материалы сайта предназначены для лиц старше 16 лет (16+)