JAVA 2021: лёгкий старт - стр. 11
double – хранит восемь байт информации, и соответственно значения с плавающей точкой от 4.9х10>—324 до 1.7х10>308;
char – хранит 16 бит (2 байта), и соответственно символ в формате UTF.
То есть, когда нужно сохранить число 77 в памяти, и программист определил, что надо использовать для этого тип данных short, виртуальная машина Java выделит из общей памяти два байта.
В основном используют int и float, т.к. они покрывают большинство нужд.
Остается только один вопрос: как программист узнает где расположены эти два байта и как к ним обратиться. Именно для этого существуют переменные.
Переменные
Переменная – это указатель на область памяти определенного типа. Вы можете думать обо всем этом как о большом складе. Вы приходите на склад (вся свободная память компьютера) и говорите «мне нужно содержимое коробки с таким-то именем» (переменная) и заведующий склада (виртуальная машина Java) дает вам это содержимое. Также вы можете не только взять, но и положить туда то, что вам необходимо. Но если коробка маленькая, а вы пытаетесь засунуть туда большое содержимое – заведующий склада не даст вам это сделать и скажет, что вы ошибаетесь.
Несколько примеров как это выглядит в коде:
int box1;
int box2 = 70;
box1 = 50;
int box3 = box1 + box2;
System.out.println (box3);
В первой строке мы определяем переменную box1 типа int.
Во второй строке мы определяем переменную box2 типа int, при этом мы сразу кладем туда (или как говорят программисты «присваиваем») значение 100.
В третьей строке мы присваиваем переменной box1 значение 50 (программисты еще говорят «переменная box1 проинициализирована значением 50»). Если мы этого не сделаем, то получим ошибку на этапе компиляции нашей программы: компилятор скажет, что нельзя в программе использовать переменные, у которых нет значений.
В четвертой строке мы складываем содержимое box1 и box2 и присваиваем новой переменной box3 тоже типа int.
В пятой строке выводим на экран (или как еще говорят «распечатываем на экране») значение переменной box3 (120).
Как долго живут переменные?
Чем больше и сложнее программа, тем больше различных данных придется хранить в различных переменных. Причем зачастую нам нужны переменные только на какое-то время совершения какой-то операции или нескольких операций. Стоит ли хранить даже такие «временные переменные»? – конечно же нет. И как раз для этого была придумана «область видимости переменной», которое определяет, как долго переменная «будет жить», т.е. будет доступна для использования. На практике область видимости определяется фигурными скобками {} – переменная объявленная и проинициализированная внутри фигурных скобок «умирает» как только поток выполнения программы выйдет за эти скобки. Отсюда следует несколько областей видимости: