Переменные Java

В традиционных языках программирования, таких как Java, переменная — это место для хранения значения определенного типа: строки, числа или чего-то еще. В этом руководстве по Java обсуждается, что такое переменная и какие бывают типы переменных. Также посмотрите пример объявления переменной в Java. Мы также рассмотрим некоторые передовые практики именования переменных в Java.

Язык программирования Java использует как «поля», так и «переменные» как часть своей терминологии. Поля относятся к переменным, объявленным вне методов, а переменные относятся к объявлениям внутри методов, включая аргументы методов.

1. Что такое переменная?

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

Пример переменной Java
Как работает переменная

1.1 Как объявить переменную?

У каждой переменной есть имя(также известное как идентификатор), чтобы отличать ее от других. Перед тем, как начать использовать переменную, ее необходимо объявить.

Данный синтаксис объясняет, как объявить переменную в Java. Левая часть этого оператора описывает переменную, а правая часть описывает то, что ей присвоено.

[тип_данных] [имя_переменной] = [значение_переменной];

  • data_type – относится к типу информации, хранящейся в области памяти. Он определяет возможные операции, которые могут быть выполнены над переменной и какие значения могут быть в ней сохранены.
  • variable_name – относится к имени переменной и отличает ее от других переменных. Имя переменной не может начинаться с цифры; обычно оно начинается с буквы. Всегда старайтесь выбирать осмысленные и читаемые имена для переменных, чтобы сделать ваш код понятным.
  • variable_value – относится к значению, которое будет сохранено в области памяти.

Например, приведенные ниже операторы являются допустимыми объявлениями переменных в Java.

int i = 10; //Переменная типа intString str = "howtodoinjava.com"; //Переменная типа StringObject obj = new Object(); //Переменная типа Objectint[] scores = [1,2,3,4,5,6,7,8,9]; //Переменная типа массива int

Java допускает несколько гибких синтаксисов для объявления переменных. Например, мы можем объявить несколько переменных одного типа как один оператор:

int i = 1, j = 2;

Мы также можем разделить объявление и инициализацию в отдельные операторы.

int i;i = 1;

1.2 Пример

После объявления переменной ее значение можно получить и изменить, используя имя.

В следующем примере ниже мы объявляем две переменные «int» и присваиваем результат их сложения третьей переменной «sum».

int i = 10;int j = 10;int sum = i + j;System.out.println( sum ); // Prints 20

Для переменных есть одно ограничение: вы можете присвоить значение только того же типа, что и тип исходной переменной. В предыдущем примере 'sum' должен быть int или другим числовым типом. Он не может быть String, Boolean или любым другим типом.

2. Вывод типа

Начиная с Java 10, вы можете написать var вместо определенного типа, чтобы принудительно выполнить автоматический вывод типа на основе типа присвоенного значения:

var [variable_name] = [variable_value];

Ниже приведены два примера:

var language = "Java"; // Stringvar num = 1; // int

Хотя это позволяет сделать код более лаконичным, это может отрицательно сказаться на его читабельности.

См. также: Ключевое слово Java 'var'

3. Расширение и сужение

3.1.Расширение

Когда небольшое значение примитивного типа автоматически размещается в большем/более широком примитивном типе данных, это называется расширением переменной. В данном примере переменная типа int присваивается переменной типа long без потери данных или ошибок.

int i = 10;long j = i;System.out.println( i );System.out.println( j );

Вывод программы.

1010

3.2 Сужение

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

В приведенном примере переменная типа int присваивается переменной типа byte с потерей данных.

int i=198;byte j=(byte)i;System.out.println( i );System.out.println( j );

Вывод программы.

198-58

4. Типы переменных в Java

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

4.1 Переменные экземпляра

Переменные, объявленные(в классе) без ключевого слова static. Нестатические поля также известны как переменные экземпляра, поскольку их значения уникальны для каждого экземпляра класса. Их также называют переменными состояния.

public class VariableExample{int counter = 20; //1 - Instance variable}

4.2 Статические переменные

Также известны как переменные класса. Это любое поле, объявленное с модификатором static. Это означает, что существует ровно одна копия этой переменной, независимо от того, сколько раз класс был инстанцирован.

public class VariableExample{static float PI = 3.14f; //2 - Class variable}

Переменная, объявленная как «public static», может рассматриваться как глобальная переменная в Java.

4.3 Локальные переменные

Они используются внутри методов, поскольку временные переменные существуют во время выполнения метода. Синтаксис объявления локальной переменной похож на объявление поля. Локальные переменные видны только методам, в которых они объявлены; они недоступны из остальной части класса.

public class VariableExample{public static void main( String[] args ) {int age = 30; //3 - Local variable(inside method body)}}

4.4 Аргументы метода

Аргумент — это переменная, которая передается методу при вызове метода. Аргументы также доступны только внутри метода, который их объявляет, хотя значение им присваивается при вызове метода.

public class VariableExample{public static void main( String[] args ) {print( 40 );}public static void print( int param ) { //4 - Method ArgumentSystem.out.println( param );}}

5. Разница между переменными экземпляра и класса

  • Переменные экземпляра(нестатические поля) уникальны для каждого экземпляра класса.
  • Переменные класса(статические поля) — это поля, объявленные с модификатором static; существует ровно одна копия переменной класса, независимо от того, сколько раз был создан экземпляр класса.
  • Чтобы получить доступ к переменной экземпляра, вы ДОЛЖНЫ создать новый экземпляр класса. Переменные класса доступны через ссылку на класс и не требуют создания экземпляра объекта. Возьмем пример. У нас есть класс Data с одной переменной экземпляра и одной переменной класса.
public class Data{int counter = 20;static float PI = 3.14f;}

Мы можем получить доступ к обеим переменным определенным образом.

public class Main{public static void main(String[] args){Data dataInstance = new Data();//Need new instanceSystem.out.println( dataInstance.counter ); //20//Can access using class referenceSystem.out.println( Data.PI ); //3.14}}

6. Соглашения об именовании переменных в Java

Существует несколько правил и соглашений, касающихся определения имен переменных.

  • Имена переменных Java чувствительны к регистру. Имя переменной employee не то же самое, что Employee или EMPLOYEE.
  • Имена переменных Java должны начинаться с буквы или символа $ или _.
  • После первого символа в имени переменной Java имя может также содержать цифры, символы $ или _.
  • Имена переменных не могут быть зарезервированными ключевыми словами в Java. Например, слова break
    или continue — зарезервированные слова в Java. Поэтому вы не можете называть ими свои переменные.
  • Имена переменных следует писать строчными буквами. Например, variable или apple.
  • Если имена переменных состоят из нескольких слов, то используйте нотацию camelcase. Например, deptName или firstName.
  • Статические конечные поля(константы) должны быть названы ВСЕМИ ЗАГЛАВНЫМИ БУКВАМИ, обычно с использованием(подчеркивания) _ для разделения слов в имени. Например, LOGGER или INTEREST_RATE.

7. Резюме

Переменные в Java используются для хранения значений различных типов данных. Их необходимо объявлять с типом и именем. Переменные можно изменять после объявления, но новое значение должно быть того же типа, что и старое. В Java 10 было введено ключевое слово var для автоматического вывода типа.

Прокрутить вверх