- Что такое переменная
- Синтаксис объявления переменной
- Правила именования переменных
- Примеры корректных имён
- Основные типы данных (кратко)
- Код — примеры типов
- Объявление vs Инициализация
- Динамическая инициализация
- Область видимости (scope) и время жизни
- Пример: вложенные области
- Инициализация внутри блока
- Ограничение: нельзя объявлять одинаковые имена во вложенных областях
- Константы
- Рекомендации
- Домашнее задание
- Тест — Насколько ты понял урок?
Переменные и Константы в Java
Переменные в Java — понятие, типы, область видимости и константы
Всем привет! С вами Виталий Лесных. В этом уроке разберём, что такое переменные в Java, зачем они нужны, какие бывают типы, как объявлять и инициализировать, что такое динамическая инициализация, область действия (scope), время жизни и константы.
Что такое переменная
Переменная — это именованная ячейка памяти, в которой можно хранить значение и затем с ним работать. Переменные нужны, чтобы программа могла хранить данные и манипулировать ими.
Синтаксис объявления переменной
Общее: <тип> <имя>;
// объявление
int a;
// объявление + инициализация
int b = 5;
Правила именования переменных
- Имя не должно начинаться с цифры (
1var— ошибка). - Нельзя использовать зарезервированные слова (например,
if,while,int,breakи т.д.). - Можно использовать буквы, цифры (не в начале), символы
_и$, но привычный стиль — camelCase. - Регистр имеет значение:
myVarиmyvar— разные переменные.
Примеры корректных имён
int age;
double accountBalance;
String userName;
int _temp;
int $price; // допустимо, но необычно
Основные типы данных (кратко)
Примитивные типы — наиболее часто используемые:
- boolean — логическое значение:
trueилиfalse. - byte — 8 бит, диапазон от -128 до 127.
- short — 16 бит.
- int — 32 бита, самый распространённый целочисленный тип.
- long — 64 бита, для больших целых чисел (пишут с суффиксом
Lпри инициализации). - float — 32-битное число с плавающей точкой (суффикс
fпри инициализации). - double — 64-битное число с плавающей точкой, чаще используется для дробей.
- char — символ (2 байта, Unicode).
Код — примеры типов
boolean flag = true;
byte b = 127;
short s = 32000;
int i = 1_000_000;
long l = 12345678900L;
float f = 3.14f;
double d = 3.1415926535;
char ch = 'A';
Объявление vs Инициализация
Объявление резервирует имя и тип. Инициализация присваивает значение.
// объявление
int x;
// инициализация (присваивание)
x = 10;
// объявление + инициализация
int y = 2;
Динамическая инициализация
Переменная может получать значение, вычисленное в момент выполнения:
int a = 1, b = 2, c = 3;
int volume = a * b * c; // динамическая инициализация: вычисляем на основе других переменных
System.out.println("Volume = " + volume); // выведет 6
Область видимости (scope) и время жизни
Область видимости переменной определяется фигурными скобками { ... }. Переменная доступна только внутри того блока, где она объявлена. Когда выполнение покидает блок — переменная «уничтожается» (в смысле недоступности).
Пример: вложенные области
int a = 1;
if (a == 1) {
int b = 2; // b доступна только внутри этого блока
System.out.println(a + b); // OK
}
// System.out.println(b); // ОШИБКА: b не видна здесь
Инициализация внутри блока
Если объявить переменную выше, а инициализировать внутри блока — при каждом входе в блок её значение может меняться или быть переинициализировано.
int b; // объявлена вне цикла
for (int a = 0; a < 3; a++) {
b = 0; // инициализируем внутри цикла
b++;
System.out.println("a=" + a + " b=" + b); // b всегда покажет 1
}
Если же b инициализировать вне цикла и увеличивать внутри — она будет накапливать значение:
int b = 0;
for (int a = 0; a < 3; a++) {
b++;
System.out.println("a=" + a + " b=" + b); // b: 1, 2, 3
}
Ограничение: нельзя объявлять одинаковые имена во вложенных областях
В Java нельзя объявить переменную с тем же именем в вложенной области — это даст ошибку компиляции.
Константы
Константа — значение, которое нельзя изменить после присвоения. В Java используется ключевое слово final.
final int DAYS_IN_WEEK = 7;
System.out.println(DAYS_IN_WEEK);
// DAYS_IN_WEEK = 8; // ОШИБКА: нельзя перезаписать константу
Рекомендации
- Выбирайте минимально подходящий тип (не занимайте лишнюю память без нужды).
- Используйте понятные имена переменных (например,
totalPriceвместоtp). - Объявляйте переменные в минимально необходимой области видимости.
- Константы — в верхнем регистре с подчёркиваниями:
MAX_USERS.
Домашнее задание
Проверьте себя — выполните задачи:
- Объявите переменные всех примитивных типов в Java и выведите их значения в консоль (для
longиfloatиспользуйте суффиксыLиfсоответственно). - Напишите программу, которая вычисляет объём параллелепипеда: ввод сторон
a,b,c(какint) и выводитvolume(динамическая инициализация). - Покажите пример, где переменная объявлена вне блока, а инициализируется внутрь — продемонстрируйте разницу в поведении при инициализации внутри и снаружи цикла.
- Создайте константу для максимального количества попыток (
final int MAX_ATTEMPTS = 3;) и используйте её в условии (например, счётчик попыток). - Попробуйте объявить переменную с именем зарезервированного слова (например,
int if = 5;) — посмотрите, какую ошибку выдаст компилятор, и запишите пояснение в комментариях к коду.
Совет: размещайте переменные как можно ближе к месту их использования — так код будет более читабельным и безопасным.
Удачи в практике!
Тест — Насколько ты понял урок?
Галерея
Полезные статьи:
Новые статьи: