Как объявить переменную в Java? Инициализация переменной в Java. Константы в Java | OTUS

Как объявить переменную в Java? Инициализация переменной в Java. Константы в Java

Java_Deep_18.3_site-5020-d9c7a4.png

В этой статье мы рассмотрим, что такое Java-переменные, что значит инициализация переменных, а также как объявлять константу и зачем вообще нужны переменные и константы в Java.

Переменная — это контейнер, содержащий какое-либо значение. При этом под переменным значением понимают строковое, числовое или логическое значение. Само определение говорит нам о том, что переменная может изменяться по ходу выполнения программы. А вот если у нас задана константа, то это значение меняться не может. Но давайте обо всём по порядку.

Виды переменных в Java

Существуют следующие типы переменных в Java: 1) примитивные (целые — byte, short, char, int, long; дробные или с плавающей точкой — float, double, логические — boolean); 2) ссылочные (создаются с применением конструкторов классов и нужны для доступа к объектам).

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

Как объявлять переменные в Java?

Перед использованием переменной нужно её объявить. Для объявления переменной в Java используют следующий синтаксис:

тип данных переменная [ = значение], [переменная [= значение], ...] ;

Идём дальше: если нужно объявить больше чем одну переменную указанного типа, допускается применение списка с запятыми:

int a, b, c;          // объявление трёх целых переменных a, b и c

Инициализация переменной

Перед использованием переменной, нужно задать ей начальное значение. Этот процесс называется инициализация. Без инициализации мы можем получить ошибку во время выполнения программы, поэтому инициализация очень важна. Для инициализации переменной используют оператор присваивания. Слева указывается имя переменной, справа её значение.

Вот пример инициализации:

int x = 10;     // объявление и инициализация переменной
System.out.println(x);  // 10

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

int a = 10, b = 10;   // Пример инициализации переменных
double pi = 3.14159;  // Объявление переменной pi и присвоение ей величины «пи»
byte b = 22;          // Инициализация переменной b типа byte
char a = 'a';         // Переменной a типа char присваиваем значение 'a'

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

Продолжаем наш небольшой урок для начинающих, посвящённый инициализации переменных в Java. Итак, можно выделить 3 типа переменных: - локальные; - статические (переменные класса); - переменные экземпляра.

Теперь давайте рассмотрим их подробнее.

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

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

Пример локальных переменных

Итак, «age» — это наша переменная, определяемая внутри метода pupAge(), причём область её действия ограничивается лишь этим методом:

public class Test{ 
   public void pupAge(){
      int age = 0;
      age = age + 7;
      System.out.println("Возраст собаки: " + age);
   }

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

В итоге мы получим следующий результат:

Возраст собаки: 7

Пример локальных переменных без инициализации

Мы уже говорили о том, что переменная без инициализации приведёт к ошибке компиляции и упоминали о важности такой процедуры, как инициализация. Давайте чуть-чуть изменим код и попробуем выполнить нашу программу без инициализации переменной «age»:

public class Test{ 
   public void pupAge(){
      int age; //начальное значение не задано, значит, инициализация отсутствует
      age = age + 7;
      System.out.println("Возраст собаки: " + 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
//так как инициализация отсутствует, программа не «может понять», к чему прибавлять цифру 7

Пожалуй, об инициализации уже поговорили достаточно. Идём дальше.

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

Для начала рассмотрим основные свойства переменных экземпляра: - объявляются в классе, однако за пределами метода, блока, конструктора; - когда в стеке выделяется пространство для объекта, создаётся слот для всех значений переменных экземпляра; - в Java эти переменные создаются тогда, когда объект создаётся посредством ключевого слова «new», а удаляются, когда объект уничтожается; - переменные включают значения, ссылающиеся более чем на один метод, блок или конструктор; - переменные экземпляра можно объявить на уровне класса, а также до и после использования; - для переменных экземпляра могут быть предоставлены модификаторы доступа; - эти переменные в Java видимы для всех методов, блоков и конструкторов в классе. Рекомендуется делать их private. Также можно делать их видимыми для подклассов данных переменных посредством модификаторов доступа; - переменные имеют значения по умолчанию: 0 — для чисел, false — для логических значений, null — для ссылок на объект. Значения можно присвоить в конструкторе либо при объявлении; - переменные могут быть доступны при вызове имени переменной внутри класса. При этом в статических методах и разных классах они вызываются посредством полного имени — ObjectReference.VariableName.

Приведём пример:

import java.io.*;

public class Employee{
   // Переменная экземпляра открыта для дочернего класса (любого)
   public String name;

   // Переменная salary видна лишь в Employee
   private double salary;

   // Имя переменной присваивается в конструкторе 
   public Employee (String empName){
      name = empName;
   }

   // Переменной salary присваивается значение
   public void setSalary(double empSal){
      salary = empSal;
   }

   // Метод выводит на экран данные сотрудников
   public void printEmp(){
      System.out.println("имя: " + name );
      System.out.println("зарплата:" + salary);
   }

   public static void main(String args[]){
      Employee empOne = new Employee("Сергей");
      empOne.setSalary(2000);
      empOne.printEmp();
   }
}

Результат работы нашей программы следующий:

имя: Сергей
зарплата: 2000.0

Рассмотрение переменных класса (статических переменных в Java) выходит за рамки нашей статьи. Давайте лучше поговорим о том, что такое константа и зачем нужны константы в Java.

Для чего используются константы?

Константы применяются в Java для хранения данных. Константа отличается от переменной. Главное отличие в том, что при использовании константы мы можем присвоить значение лишь один раз.

В остальном константа объявляется так же, как и переменная. Правда, в случае использования константы сначала идёт ключевое слово final:

final int LIMIT = 5;
System.out.println(LIMIT);  // 5
// LIMIT=57; // данный синтаксис возможен потому, что LIMIT — это константа

Как правило, при записи имени константы применяют верхний регистр.

Константы позволяют задать переменные, которые больше не должны меняться. Допустим, у нас существует переменная для хранения числа «пи». При инициализации мы можем сразу же объявить, что она константа, ведь её значение постоянно.

На этом пока всё. Если хотите знать больше, чем объявление, инициализация и использование переменной, записывайтесь на курс «Разработчик Java». Здесь вы получите навыки разработки серверных приложений, овладеете низкоуровневыми и высокоуровневыми подходами к созданию многопоточных и многопроцессных приложений и много чего ещё.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто