HTML Diff
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