EMZETT.
Войти

Объявление и инициализация переменных

Коротко: Объявить — значит дать переменной имя и тип, чтобы программа зарезервировала для неё память. Инициализировать — значит присвоить ей первое значение. Оба действия можно выполнить вместе в одной строке.

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

Подробности

Объявление, инициализация, присваивание:

int age;            // объявление: тип и имя
age = 17;           // инициализация: первое значение
int height = 180;   // оба действия в одной строке
age = 18;           // последующее присваивание (изменение значения)
ШагЗначениеЭффект
ОбъявитьСообщить имя и типПамять резервируется
ИнициализироватьПрисвоить первое значениеПеременную можно использовать
ПрисвоитьИзменить значение позжеСтарое значение перезаписывается

В разных языках:

ЯзыкПример
Java, C, C#int x = 5; (тип указывается)
Pythonx = 5 (тип выводится, объявление не нужно)
JavaScriptlet x = 5;, const PI = 3.14;, раньше var
TypeScriptlet x: number = 5;
Kotlinval x = 5 (неизменяемая), var y = 3
Gox := 5 или var x int = 5

Важные правила:

  • Локальные переменные в Java должны иметь значение до чтения (иначе ошибка компилятора). Атрибуты получают значения по умолчанию (0, false, null).
  • C/C++: неинициализированные локальные переменные содержат мусор — частая ошибка и риск безопасности. Всегда инициализируйте.
  • const/final: значение можно задать только один раз.
  • Видимость (scope): переменная действует только в блоке, где она объявлена.
  • Имена: осмысленные (customerCount вместо a), camelCase в Java, snake_case в Python.
  • Несколько в одной строке: int a = 1, b = 2; (только когда понятно).
  • Объявление функций: в C объявление (прототип) и определение (тело) разделяют.

Ошибки: использование переменной до её объявления («cannot find symbol», «is not defined»). Двойное объявление в одной области видимости.

См. также: Инициализировать, Несколько переменных, Переменные