Виды переменных и их объявление
В этой статье мы поговорим с Вами более детально о переменных в языке Java.
1. Объявление переменных в Java и их инициализация
Java переменные - это основной элемент хранения информации в Java-программе.
Прежде чем использовать переменную, её необходимо объявить. Мы пишем её тип и имя переменной с помощью какого-то идентификатора, например:
int max;// Объявляет число max
Здесь мы просто объявили переменную max, и сейчас её значение равно значению по умолчанию. Для int - это ноль. Чуть позже в программе переменную можно проинициализировать:
max = 89;// Инициализирует число max
Но, конечно же, это лучше делать не следующей строчкой.
Если нам требуется объявить несколько переменных заданного типа, это можно сделать в виде разделённого запятыми списка имён переменных:
int count = 0, min = 6;// Объявляет два целых числа count и min
Переменная может быть инициализирована при объявлении:
double d = 2.3;// Объявляет число d и инициализирует его
Инициализирующее выражение, то есть, то что мы пишем после равно, должно возвращать значение того же самого или совместимого типа, что и у объявленной нами переменной. Что такое совместимый тип мы узнаем в одном из наших следующих уроков - Преобразование и приведение примитивных типов.
Java - строго типизированный язык, то есть каждая переменная Java имеет какой-то конкретный тип. Тип переменной определяет:
- размер и размещение её в памяти,
- диапазон значений, которые могут храниться в памяти,
- набор операций, которые могут быть применены к переменной.
Если мы объявили переменную с таким-то типом, то тип переменной мы поменять не можем.
Конечно же во время выполнения программы значение переменной может изменяться. Допустим мы установили значение 8 в переменную max, а потом где-то дальше в программе мы её изменили:
int max = 8;
...
max = 89;
2. Область видимости переменной в Java
В Java допускается объявление переменных в любом блоке кода. Блок кода заключается в фигурные скобки, задавая тем самым область видимости или действия. Таким образом, при открытии каждого нового блока кода создается новая область видимости.
- Две основные области видимости в Java определяются классом и методом, хотя такое их разделение несколько искусственно.
- В языке Java видимость переменных, определяемая методом, начинается с его открывающей фигурной скобки. Если у метода имеются параметры, то они также включаются в область видимости метода и действуют точно так же, как и любая другая переменная в методе.
- Переменные, объявленные в области видимости, не доступны из кода за пределами этой области.
- Области видимости могут быть вложенными.
- Переменные создаются при входе в их область действия и уничтожаются при выходе из нее.
- Во внутреннем блоке кода нельзя объявлять переменные с тем же именем, что и во внешней области действия.
Рассмотрим области действия переменных на следующем примере:
public class VarExample {
String str1 = "Hello!"; // переменные str1 и str2 объявлены в классе. То есть область их действия - это класс.
String str2 = "Hi!";
public static void main(String[] args) {
int x; // переменная x доступна всему коду из метода main ( )
x = 10;
if (x == 10) { // начало новой области действия,
int у = 20;
//int x = 45; // ОШИБКА! Во внутреннем блоке кода нельзя
// объявлять переменные с тем же именем, что и во внешней области действия.
//обе переменные х и у доступны в этой области действия
System.out.println(" x и у : " + x + " " + у);
x = у * 2;
}
// y = 100; // ОШИБКА! переменная у недоступна
// в этой области действия
// переменная х доступна и эдесь
System.out.println(" x равно " + x);
}
}
3. Объявление локальных переменных с помощью var
В Java 10 появилась возможность объявлять локальные переменные с помощью ключевого слова Java var без указания типа. Тип выводится компилятором из присваиваемого значения:
public class VarExample2 {
public static void main(String[] args) {
var i = 6;
var d = 7.8;
var s = "some String";
System.out.println(i);
System.out.println(d);
System.out.println(s);
}
}
Конечно же, у такого типа объявления есть свои достоинства и недостатки.
Достоинство - это то, что Вам не нужно задумываться о том, какого типа будет ваша переменная. Но с другой стороны тип переменной помогает понять какое значение хранится в этой переменной. Поэтому если вы используете var, то лучше использовать более понятные идентификаторы. То есть переменные i, d и s в таком случае будут не очень корректные.
Презентацию с видео можно скачать на Patreon.
Курс 'Java для начинающих' на Udemy
Please log in or register to have a possibility to add comment.