Переменные
Переменная — это именованная ячейка памяти, в которой программа хранит значение. В Java у каждой переменной есть тип: он задаёт, какие значения в ней можно хранить, и не меняется до конца её жизни.
Объявление переменной
Чтобы создать переменную, пишут тип, имя и через знак = начальное значение:
void main() {
int age = 25;
IO.println(age);
}Результат:
25int — тип для целых чисел. Знак = здесь не сравнение, а присваивание: значение справа записывается в переменную слева.
Изменение значения
Переменной можно присвоить новое значение. Тип при этом указывают только один раз — при объявлении:
void main() {
int score = 10;
score = 15;
score = score + 5;
IO.println(score);
}Результат:
20В строке score = score + 5 Java сначала берёт текущее значение 15, прибавляет 5 и записывает результат обратно в score.
Текст и другие типы
Для текста используют тип String, для дробных чисел — double, для «да/нет» — boolean. Переменные можно склеивать с текстом через +:
void main() {
String name = "Анна";
double price = 4.99;
boolean inStock = true;
IO.println(name + " купила кофе за $" + price + ", в наличии: " + inStock);
}Результат:
Анна купила кофе за $4.99, в наличии: truevar
Если тип очевиден из значения, вместо него можно написать var — компилятор выведет тип сам:
void main() {
var city = "Москва";
var year = 2025;
IO.println(city + ", " + year);
}Результат:
Москва, 2025Тип при этом всё равно есть: city — это String, а year — int. Записать в year строку не получится.
Константы
Слово final запрещает менять переменную после первого присваивания. Такие значения называют константами, а их имена часто пишут заглавными буквами:
void main() {
final double VAT = 0.2;
double price = 100;
IO.println(price * VAT);
}Результат:
20.0Попытка присвоить VAT новое значение остановит компиляцию.
Имена переменных
Имя может содержать буквы, цифры, _ и $, но не может начинаться с цифры. В Java принят стиль camelCase: первое слово с маленькой буквы, каждое следующее — с большой: totalPrice, userName. Регистр важен: age и Age — разные переменные.
Частая ошибка
Объявленную без значения переменную нельзя читать, пока в неё ничего не записали:
void main() {
int total;
IO.println(total);
}Результат:
Main.java:3: error: variable total might not have been initialized
IO.println(total);
^
1 error
error: compilation failedКомпилятор следит за этим строго. Присвойте переменной значение до первого использования — проще всего сразу при объявлении.