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

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

Вы должны объявить все переменные, прежде чем их можно будет использовать. Ниже приводится основная форма объявления переменной —

data type variable [ = value][, variable [ = value] ...] ;

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

Ниже приведены действительные примеры объявления и инициализации переменных в Java.

пример

int a, b, c;         // Declares three ints, a, b, and c.
int a = 10, b = 10;  // Example of initialization
byte B = 22;         // initializes a byte type variable B.
double pi = 3.14159; // declares and assigns a value of PI.
char a = 'a';        // the char variable a iis initialized with value 'a'

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

  • Локальные переменные
  • Переменные экземпляра
  • Класс / статические переменные

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

  • Локальные переменные объявляются в методах, конструкторах или блоках.

  • Локальные переменные создаются при вводе метода, конструктора или блока, и переменная будет уничтожена после выхода из метода, конструктора или блока.

  • Модификаторы доступа нельзя использовать для локальных переменных.

  • Локальные переменные видны только внутри объявленного метода, конструктора или блока.

  • Локальные переменные реализованы на уровне стека внутри.

  • Для локальных переменных нет значения по умолчанию, поэтому локальные переменные должны быть объявлены и начальное значение должно быть присвоено перед первым использованием.

пример

Здесь возраст — это локальная переменная. Это определяется внутри метода pupAge (), и его область действия ограничена только этим методом.

public class Test {
   public void pupAge() {
      int age = 0;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }

   public static void main(String args[]) {
      Test test = new Test();
      test.pupAge();
   }
}

Это даст следующий результат —

Вывод

Puppy age is: 7

пример

В следующем примере возраст используется без его инициализации, поэтому во время компиляции будет выдана ошибка.

public class Test {
   public void pupAge() {
      int age;
      age = age + 7;
      System.out.println("Puppy age is : " + age);
   }

   public static void main(String args[]) {
      Test test = new Test();
      test.pupAge();
   }
}

Это приведет к следующей ошибке при его компиляции —

Вывод

Test.java:4:variable number might not have been initialized
age = age + 7;
         ^
1 error

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

  • Переменные экземпляра объявляются в классе, но вне метода, конструктора или любого блока.

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

  • Переменные экземпляра создаются, когда объект создается с использованием ключевого слова ‘new’, и уничтожаются, когда объект уничтожается.

  • Переменные экземпляра содержат значения, на которые должны ссылаться более чем один метод, конструктор или блок, или важные части состояния объекта, которые должны присутствовать во всем классе.

  • Переменные экземпляра могут быть объявлены на уровне класса до или после использования.

  • Модификаторы доступа могут быть заданы для переменных экземпляра.

  • Переменные экземпляра видны для всех методов, конструкторов и блоков в классе. Обычно рекомендуется сделать эти переменные закрытыми (уровень доступа). Однако видимость подклассов может быть предоставлена ​​для этих переменных с использованием модификаторов доступа.

  • Переменные экземпляра имеют значения по умолчанию. Для чисел значение по умолчанию — 0, для логических — false, а для ссылок на объекты — null. Значения могут быть присвоены во время объявления или в конструкторе.

  • Доступ к переменным экземпляра можно получить напрямую, вызвав имя переменной внутри класса. Однако в статических методах (когда переменным экземпляра предоставляется доступ) их следует вызывать с использованием полного имени. ObjectReference.VariableName .

пример

import java.io.*;
public class Employee {

   // this instance variable is visible for any child class.
   public String name;

   // salary  variable is visible in Employee class only.
   private double salary;

   // The name variable is assigned in the constructor.
   public Employee (String empName) {
      name = empName;
   }

   // The salary variable is assigned a value.
   public void setSalary(double empSal) {
      salary = empSal;
   }

   // This method prints the employee details.
   public void printEmp() {
      System.out.println("name  : " + name );
      System.out.println("salary :" + salary);
   }

   public static void main(String args[]) {
      Employee empOne = new Employee("Ransika");
      empOne.setSalary(1000);
      empOne.printEmp();
   }
}

Это даст следующий результат —

Вывод

name  : Ransika
salary :1000.0

Класс / статические переменные

  • Переменные класса, также известные как статические переменные, объявляются с помощью ключевого слова static в классе, но вне метода, конструктора или блока.

  • Будет только одна копия каждой переменной класса для каждого класса, независимо от того, сколько объектов создано из нее.

  • Статические переменные используются редко, за исключением того, что они объявлены как константы. Константы — это переменные, которые объявлены как общедоступные / частные, окончательные и статические. Постоянные переменные никогда не изменяются от своего начального значения.

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

  • Статические переменные создаются при запуске программы и уничтожаются при остановке программы.

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

  • Значения по умолчанию такие же, как переменные экземпляра. Для чисел значение по умолчанию — 0; для логических значений — false; а для объектных ссылок — null. Значения могут быть присвоены во время объявления или в конструкторе. Кроме того, значения могут быть присвоены в специальных блоках статического инициализатора.

  • К статическим переменным можно получить доступ, вызвав с именем класса ClassName.VariableName .

  • Когда переменные класса объявляются как общедоступные статические final, имена переменных (константы) пишутся в верхнем регистре. Если статические переменные не являются общедоступными и окончательными, синтаксис именования такой же, как у экземпляров и локальных переменных.

пример

import java.io.*;
public class Employee {

   // salary  variable is a private static variable
   private static double salary;

   // DEPARTMENT is a constant
   public static final String DEPARTMENT = "Development ";

   public static void main(String args[]) {
      salary = 1000;
      System.out.println(DEPARTMENT + "average salary:" + salary);
   }
}

Это даст следующий результат —

Вывод

Development average salary:1000

Примечание. Если к переменным осуществляется доступ из внешнего класса, к константе следует обращаться как к Employee.DEPARTMENT.

Что следующее?

Вы уже использовали модификаторы доступа (публичный и частный) в этой главе. В следующей главе будут подробно описаны модификаторы доступа и модификаторы доступа.

Выберите поля, которые будут показаны. Прочие будут скрыты. Перктаскивайте мышкой для изменения порядка полей.
  • Изображение
  • SKU
  • Рейтинг
  • Цена
  • Запасы
  • Доступность
  • В корзину
  • Описание
  • Содержимое
  • Вес
  • Размеры
  • Дополнительная информация
  • Атрибуты
  • Custom attributes
  • Настраиваемые поля
Сравнить
Список желаний 0
Открыть страницу желаний Продолжить покупки