Переменные
Переменная — это коробка с наклейкой. В коробку кладёшь значение (число, имя пользователя, цену), а на наклейке пишешь имя, чтобы потом эту коробку найти. Без переменных программе попросту негде хранить данные.
Как это в коде
Сначала пишешь тип, потом имя, потом значение. Строка кода заканчивается точкой с запятой.
int age = 25; // целое число
String name = "Артур"; // текст
boolean isDev = true; // да / нет
Главное на старте:
int— для целых чисел,double— для дробных,String— для текста,boolean— для «да/нет»;- имя переменной придумываешь сам, но понятное:
age, а неa; - забыл
;в конце — IDE подчеркнёт строку красным. Это не «ты тупой», это подсказка.
Копнуть глубже — нюансы на работе
Есть примитивы (int, double, boolean) и обёртки (Integer, Double, Boolean). Обёртка может быть null — «значение ещё не положили», а примитив всегда содержит число. На практике в полях сущностей и DTO чаще встречаются обёртки именно поэтому.
Ключевое слово var позволяет не писать тип явно, если он понятен из значения:
var name = "Артур"; // компилятор сам понимает, что это String
Область видимости: переменная живёт внутри тех { }, где объявлена. Снаружи её уже не видно.
Под капотом — для глубокого понимания
Примитивы лежат на стеке, объекты — в heap, а переменная-ссылка хранит лишь адрес объекта. Автобоксинг (Integer i = 5) незаметно создаёт объект — в горячем цикле это лишние аллокации и нагрузка на сборщик мусора. Поэтому в перформанс-критичном коде примитивы предпочтительнее обёрток.
• чем
int отличается от Integer (если дошёл до 2-го слоя);• что будет, если забыть «;».