0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>В этой статье мы рассмотрим, что такое<strong>Java-переменные</strong>, что значит инициализация переменных, а также как объявлять константу и зачем вообще нужны переменные и константы в Java.</p>
1
<p>В этой статье мы рассмотрим, что такое<strong>Java-переменные</strong>, что значит инициализация переменных, а также как объявлять константу и зачем вообще нужны переменные и константы в Java.</p>
2
<p><strong>Переменная</strong>- это контейнер, содержащий какое-либо значение. При этом под переменным значением понимают строковое, числовое или логическое значение. Само определение говорит нам о том, что переменная может изменяться по ходу выполнения программы. А вот если у нас задана константа, то это значение меняться не может. Но давайте обо всём по порядку.</p>
2
<p><strong>Переменная</strong>- это контейнер, содержащий какое-либо значение. При этом под переменным значением понимают строковое, числовое или логическое значение. Само определение говорит нам о том, что переменная может изменяться по ходу выполнения программы. А вот если у нас задана константа, то это значение меняться не может. Но давайте обо всём по порядку.</p>
3
<h2>Виды переменных в Java</h2>
3
<h2>Виды переменных в Java</h2>
4
<p>Существуют следующие типы переменных в Java: 1)<strong>примитивные</strong>(целые - byte, short, char, int, long; дробные или с плавающей точкой - float, double, логические - boolean); 2)<strong>ссылочные</strong>(создаются с применением конструкторов классов и нужны для доступа к объектам).</p>
4
<p>Существуют следующие типы переменных в Java: 1)<strong>примитивные</strong>(целые - byte, short, char, int, long; дробные или с плавающей точкой - float, double, логические - boolean); 2)<strong>ссылочные</strong>(создаются с применением конструкторов классов и нужны для доступа к объектам).</p>
5
<p>Так как<strong>Java</strong>является строго типизированным языком программирования, каждая переменная, объявляемая разработчиком, должна иметь связанный с переменным значением тип данных.</p>
5
<p>Так как<strong>Java</strong>является строго типизированным языком программирования, каждая переменная, объявляемая разработчиком, должна иметь связанный с переменным значением тип данных.</p>
6
<h2>Как объявлять переменные в Java?</h2>
6
<h2>Как объявлять переменные в Java?</h2>
7
<p>Перед использованием переменной нужно её объявить. Для объявления переменной в Java используют следующий синтаксис:</p>
7
<p>Перед использованием переменной нужно её объявить. Для объявления переменной в Java используют следующий синтаксис:</p>
8
тип данных переменная [ = значение], [переменная [= значение], ...] ;<p>Идём дальше: если нужно объявить больше чем одну переменную указанного типа, допускается применение списка с запятыми:</p>
8
тип данных переменная [ = значение], [переменная [= значение], ...] ;<p>Идём дальше: если нужно объявить больше чем одну переменную указанного типа, допускается применение списка с запятыми:</p>
9
int a, b, c; // объявление трёх целых переменных a, b и c<h2>Инициализация переменной</h2>
9
int a, b, c; // объявление трёх целых переменных a, b и c<h2>Инициализация переменной</h2>
10
<p>Перед использованием переменной, нужно задать ей начальное значение. Этот процесс называется<strong>инициализация</strong>. Без инициализации мы можем получить ошибку во время выполнения программы, поэтому инициализация очень важна. Для инициализации переменной используют<strong>оператор присваивания</strong>. Слева указывается имя переменной, справа её значение.</p>
10
<p>Перед использованием переменной, нужно задать ей начальное значение. Этот процесс называется<strong>инициализация</strong>. Без инициализации мы можем получить ошибку во время выполнения программы, поэтому инициализация очень важна. Для инициализации переменной используют<strong>оператор присваивания</strong>. Слева указывается имя переменной, справа её значение.</p>
11
<p>Вот пример инициализации:</p>
11
<p>Вот пример инициализации:</p>
12
int x = 10; // объявление и инициализация переменной System.out.println(x); // 10<p>Ниже посмотрим другие примеры инициализации и объявления переменных в Java:</p>
12
int x = 10; // объявление и инициализация переменной System.out.println(x); // 10<p>Ниже посмотрим другие примеры инициализации и объявления переменных в Java:</p>
13
int a = 10, b = 10; // Пример инициализации переменных double pi = 3.14159; // Объявление переменной pi и присвоение ей величины "пи" byte b = 22; // Инициализация переменной b типа byte char a = 'a'; // Переменной a типа char присваиваем значение 'a'<h2>Типы переменных в Java</h2>
13
int a = 10, b = 10; // Пример инициализации переменных double pi = 3.14159; // Объявление переменной pi и присвоение ей величины "пи" byte b = 22; // Инициализация переменной b типа byte char a = 'a'; // Переменной a типа char присваиваем значение 'a'<h2>Типы переменных в Java</h2>
14
<p>Продолжаем наш небольшой урок для начинающих, посвящённый инициализации переменных в Java. Итак, можно выделить 3 типа переменных: - локальные; - статические (переменные класса); - переменные экземпляра.</p>
14
<p>Продолжаем наш небольшой урок для начинающих, посвящённый инициализации переменных в Java. Итак, можно выделить 3 типа переменных: - локальные; - статические (переменные класса); - переменные экземпляра.</p>
15
<p>Теперь давайте рассмотрим их подробнее.</p>
15
<p>Теперь давайте рассмотрим их подробнее.</p>
16
<h2>Локальные переменные в Java</h2>
16
<h2>Локальные переменные в Java</h2>
17
<p>Свойства локальных переменных: - объявляются в методах, блоках или конструкторах; - создаются, когда метод, блок или конструктор запускаются; - уничтожаются после завершения метода, конструктора либо блока; - видимы лишь в пределах объявленного метода, блока либо конструктора; - реализуются на уровне стека внутри; - в Java не существует значений по умолчанию для локальных переменных, поэтому они должны объявляться и проходить этап инициализации непосредственно перед первым использованием; - для переменной нельзя использовать модификаторы доступа.</p>
17
<p>Свойства локальных переменных: - объявляются в методах, блоках или конструкторах; - создаются, когда метод, блок или конструктор запускаются; - уничтожаются после завершения метода, конструктора либо блока; - видимы лишь в пределах объявленного метода, блока либо конструктора; - реализуются на уровне стека внутри; - в Java не существует значений по умолчанию для локальных переменных, поэтому они должны объявляться и проходить этап инициализации непосредственно перед первым использованием; - для переменной нельзя использовать модификаторы доступа.</p>
18
<h2>Пример локальных переменных</h2>
18
<h2>Пример локальных переменных</h2>
19
<p>Итак, "age" - это наша переменная, определяемая внутри метода pupAge(), причём область её действия ограничивается лишь этим методом:</p>
19
<p>Итак, "age" - это наша переменная, определяемая внутри метода pupAge(), причём область её действия ограничивается лишь этим методом:</p>
20
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(); } }<p>В итоге мы получим следующий результат:</p>
20
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(); } }<p>В итоге мы получим следующий результат:</p>
21
<h2>Пример локальных переменных без инициализации</h2>
21
<h2>Пример локальных переменных без инициализации</h2>
22
<p>Мы уже говорили о том, что переменная без инициализации приведёт к ошибке компиляции и упоминали о важности такой процедуры, как<strong>инициализация</strong>. Давайте чуть-чуть изменим код и попробуем выполнить нашу программу без инициализации переменной "age":</p>
22
<p>Мы уже говорили о том, что переменная без инициализации приведёт к ошибке компиляции и упоминали о важности такой процедуры, как<strong>инициализация</strong>. Давайте чуть-чуть изменим код и попробуем выполнить нашу программу без инициализации переменной "age":</p>
23
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(); } }<p>Запустив компиляцию без инициализации, мы увидим следующую ошибку:</p>
23
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(); } }<p>Запустив компиляцию без инициализации, мы увидим следующую ошибку:</p>
24
Test.java:4:variable number might not have been initialized age = age + 7; ^ 1 error //так как инициализация отсутствует, программа не "может понять", к чему прибавлять цифру 7<p>Пожалуй, об инициализации уже поговорили достаточно. Идём дальше.</p>
24
Test.java:4:variable number might not have been initialized age = age + 7; ^ 1 error //так как инициализация отсутствует, программа не "может понять", к чему прибавлять цифру 7<p>Пожалуй, об инициализации уже поговорили достаточно. Идём дальше.</p>
25
<h2>Переменные экземпляра</h2>
25
<h2>Переменные экземпляра</h2>
26
<p>Для начала рассмотрим основные свойства переменных экземпляра: - объявляются в классе, однако за пределами метода, блока, конструктора; - когда в стеке выделяется пространство для объекта, создаётся слот для всех значений переменных экземпляра; - в Java эти переменные создаются тогда, когда объект создаётся посредством ключевого слова "new", а удаляются, когда объект уничтожается; - переменные включают значения, ссылающиеся более чем на один метод, блок или конструктор; - переменные экземпляра можно объявить на уровне класса, а также до и после использования; - для переменных экземпляра могут быть предоставлены модификаторы доступа; - эти переменные в Java видимы для всех методов, блоков и конструкторов в классе. Рекомендуется делать их private. Также можно делать их видимыми для подклассов данных переменных посредством модификаторов доступа; - переменные имеют значения по умолчанию: 0 - для чисел, false - для логических значений, null - для ссылок на объект. Значения можно присвоить в конструкторе либо при объявлении; - переменные могут быть доступны при вызове имени переменной внутри класса. При этом в статических методах и разных классах они вызываются посредством полного имени - ObjectReference.VariableName.</p>
26
<p>Для начала рассмотрим основные свойства переменных экземпляра: - объявляются в классе, однако за пределами метода, блока, конструктора; - когда в стеке выделяется пространство для объекта, создаётся слот для всех значений переменных экземпляра; - в Java эти переменные создаются тогда, когда объект создаётся посредством ключевого слова "new", а удаляются, когда объект уничтожается; - переменные включают значения, ссылающиеся более чем на один метод, блок или конструктор; - переменные экземпляра можно объявить на уровне класса, а также до и после использования; - для переменных экземпляра могут быть предоставлены модификаторы доступа; - эти переменные в Java видимы для всех методов, блоков и конструкторов в классе. Рекомендуется делать их private. Также можно делать их видимыми для подклассов данных переменных посредством модификаторов доступа; - переменные имеют значения по умолчанию: 0 - для чисел, false - для логических значений, null - для ссылок на объект. Значения можно присвоить в конструкторе либо при объявлении; - переменные могут быть доступны при вызове имени переменной внутри класса. При этом в статических методах и разных классах они вызываются посредством полного имени - ObjectReference.VariableName.</p>
27
<p>Приведём пример:</p>
27
<p>Приведём пример:</p>
28
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(); } }<p>Результат работы нашей программы следующий:</p>
28
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(); } }<p>Результат работы нашей программы следующий:</p>
29
имя: Сергей зарплата: 2000.0<p>Рассмотрение переменных класса (статических переменных в Java) выходит за рамки нашей статьи. Давайте лучше поговорим о том, что такое константа и зачем нужны<strong>константы в Java</strong>.</p>
29
имя: Сергей зарплата: 2000.0<p>Рассмотрение переменных класса (статических переменных в Java) выходит за рамки нашей статьи. Давайте лучше поговорим о том, что такое константа и зачем нужны<strong>константы в Java</strong>.</p>
30
<h2>Для чего используются константы?</h2>
30
<h2>Для чего используются константы?</h2>
31
<p>Константы применяются в Java для хранения данных. Константа отличается от переменной. Главное отличие в том, что при использовании константы мы можем присвоить значение лишь один раз.</p>
31
<p>Константы применяются в Java для хранения данных. Константа отличается от переменной. Главное отличие в том, что при использовании константы мы можем присвоить значение лишь один раз.</p>
32
<p>В остальном константа объявляется так же, как и переменная. Правда, в случае использования константы сначала идёт ключевое слово final:</p>
32
<p>В остальном константа объявляется так же, как и переменная. Правда, в случае использования константы сначала идёт ключевое слово final:</p>
33
final int LIMIT = 5; System.out.println(LIMIT); // 5 // LIMIT=57; // данный синтаксис возможен потому, что LIMIT - это константа<p>Как правило, при записи имени константы применяют верхний регистр.</p>
33
final int LIMIT = 5; System.out.println(LIMIT); // 5 // LIMIT=57; // данный синтаксис возможен потому, что LIMIT - это константа<p>Как правило, при записи имени константы применяют верхний регистр.</p>
34
<p>Константы позволяют задать переменные, которые больше не должны меняться. Допустим, у нас существует переменная для хранения числа "пи". При инициализации мы можем сразу же объявить, что она константа, ведь её значение постоянно.</p>
34
<p>Константы позволяют задать переменные, которые больше не должны меняться. Допустим, у нас существует переменная для хранения числа "пи". При инициализации мы можем сразу же объявить, что она константа, ведь её значение постоянно.</p>
35
<p><em>На этом пока всё. Если хотите знать больше, чем объявление, инициализация и использование переменной, записывайтесь на курс<a>"Разработчик Java"</a>. Здесь вы получите навыки разработки серверных приложений, овладеете низкоуровневыми и высокоуровневыми подходами к созданию многопоточных и многопроцессных приложений и много чего ещё.</em></p>
35
<p><em>На этом пока всё. Если хотите знать больше, чем объявление, инициализация и использование переменной, записывайтесь на курс<a>"Разработчик Java"</a>. Здесь вы получите навыки разработки серверных приложений, овладеете низкоуровневыми и высокоуровневыми подходами к созданию многопоточных и многопроцессных приложений и много чего ещё.</em></p>
36
36