/
Программирование
/
Курс Java
/

Что такое переменная

Java: Что такое переменная

Представьте, что нужно напечатать фразу Father! два раза:

System.out.println("Father!");
System.out.println("Father!");

Такой способ подойдет, если фраза встречается всего пару раз. Но что, если она будет использоваться часто, в разных частях программы? Тогда придется копировать одно и то же выражение снова и снова.

А что будет, если фразу нужно изменить, например заменить Father! на Mother!? Придется искать и исправлять все вхождения вручную. Это неудобно и приводит к ошибкам.

Переменные

Чтобы не дублировать одну и ту же строку, ее можно сохранить в переменной и распечатывать ее содержимое:

var greeting = "Father!";

System.out.println(greeting);
System.out.println(greeting);

Результат:

Father!
Father!

Переменная представляет собой имя, за которым хранится значение. В этом примере мы создали переменную с именем greeting и записали в нее строку "Father!".

var greeting = "Father!";

Переменная       Значение
┌──────────┐     ┌──────────┐
│ greeting │ ──→ │ "Father!"│
└──────────┘     └──────────┘

Строчка var greeting = "Father!" читается так: "возьми значение "Father!" и присвой его переменной с именем greeting". Знак = здесь работает как оператор присваивания, а не обозначение равенства как в математике. Он кладет значение в переменную.

Ключевое слово var сообщает компилятору, что мы создаем новую переменную. Java сама определяет тип переменной по тому значению, которое мы в нее записали. Раз справа стоит строка "Father!", то и переменная greeting становится строковой.

Когда мы пишем System.out.println(greeting), программа подставляет вместо имени greeting то значение, которое в ней хранится. В результате на экран выводится строка Father!.

System.out.println(greeting);
                   |
                   v
System.out.println("Father!");

Типы переменных

В Java у каждой переменной есть тип. Тип говорит, какие данные внутри переменной хранятся. Целое число, дробное число или строка задают разные типы:

var age = 25;       // целое число
var price = 9.99;   // дробное число
var name = "Tom";   // строка

В примерах выше тип определяется автоматически по значению справа от знака =. Можно записать тип и явно, тогда вместо var указывают название типа:

int age = 25;
double price = 9.99;
String name = "Tom";

Оба способа создают переменную с одинаковым результатом. Запись через var короче, поэтому в примерах мы будем использовать ее.

Имена переменных

Имена переменных придумывает сам программист. В Java можно использовать:

  • Латинские буквы (a-z, A-Z),
  • цифры (но не в начале),
  • нижнее подчеркивание _.

Примеры допустимых имен: greeting, name1, helloWorld. Java различает строчные и заглавные буквы. Переменные greeting, Greeting и GREETING будут тремя разными переменными.

Переменные и литералы

В коде важно различать, где мы используем переменную, а где записываем значение напрямую. Это особенно заметно на примере с System.out.println():

var greeting = "Mother!";
System.out.println(greeting);   // => Mother!
System.out.println("greeting"); // => greeting

В первом случае используется переменная greeting, и программа подставляет ее значение. Во втором случае "greeting" заключено в кавычки, поэтому это строковый литерал, то есть готовое значение, написанное прямо в коде. Хотя мы видим слово greeting в обоих случаях, с точки зрения компилятора это разные вещи.

Литералы представляют собой данные, записанные явно (например, "Hello", 42, 3.14). Идентификаторы работают как имена переменных и методов (например, greeting, println), которые указывают на уже существующие значения или команды.

Несколько переменных в программе

В одной программе можно создать сколько угодно переменных. Каждая хранит свои данные и не мешает другим:

var greeting1 = "Father!";
System.out.println(greeting1);
System.out.println(greeting1);

var greeting2 = "Mother!";
System.out.println(greeting2);
System.out.println(greeting2);

Результат:

Father!
Father!
Mother!
Mother!

Количество переменных зависит от логики программы. Чем сложнее задача, тем больше промежуточных данных приходится где-то хранить.

Где создавать переменные

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

Задание

Создайте переменную с именем motto и содержимым What Is Dead May Never Die!. Распечатайте содержимое переменной.

What Is Dead May Never Die!

Полезное

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются