7. Java — Типы переменных, объявление и инициализация
7. Java — Типы переменных, объявление и инициализация Переменная предоставляется нам именем хранения, чтобы нашей программой можно было манипулировать. Каждая переменная в Java имеет конкретный тип, который определяет размер и размещение её в памяти; диапазон значений, которые могут храниться в памяти; и набор операций, которые могут быть применены к переменной. Необходимо объявить все переменные, прежде чем их использовать. Ниже показана основная форма объявления: тип данных переменная [ = значение], [переменная [= значение], ... ];Чтобы объявить более чем одну переменную указанного типа, можно использовать список с запятыми в качестве разделителей. Ниже приведены примеры объявления переменной и инициализации в Java: int a, b, c; // Объявление трех целых a, b, и c. int a = 10, b = 10; // Пример инициализации. byte b = 22; // Инициализация переменной b типа byte. double pi = 3. 14159; // Объявление и присвоение величины пи. char a = 'a'; // Переменной a типа char присваивается значение 'a'.В этом уроке рассмотрим различные типы переменных, доступных в языке Java. Существует три типа переменных: · локальные переменные; · переменные экземпляра; · статические переменные или переменные класса. Локальные переменные в 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 initializedage = age + 7; ^1 errorПеременные экземпляра · Переменные экземпляра объявляются в классе, но за пределами метода, конструктора или какого-либо блока. · Когда для объекта в стеке выделяется пространство, создается слот для каждого значения переменной экземпляра. · В Java переменные экземпляра создаются тогда, когда объект создан с помощью ключевого слова «new» и разрушаются тогда, когда объект уничтожается. · Переменные содержат значения, которые должны ссылаться более чем на один метод, конструктор или блок, или на основные части состояния объекта, которые должны присутствовать на протяжении всего класса. · Переменные экземпляра могут быть объявлен на уровне класса, до или после использования. · Модификаторы доступа могут быть предоставлены для переменных экземпляра. · Переменные экземпляра в Java являются видимыми для всех методов, конструкторов и блоков в классе. Как правило рекомендуется сделать их private (уровень доступа). Однако можно сделать их видимыми для подклассов этих переменных с помощью модификаторов доступа.
· Переменные экземпляра имеют значения по умолчанию. Для чисел по умолчанию равно 0, для логических — false, для ссылок на объект — null. Значения могут быть присвоены при объявлении или в конструкторе. · Переменные экземпляра в Java могут быть доступны непосредственно путем вызова имени переменной внутри класса. Однако в статических методах и различных класса (когда к переменным экземпляра дана доступность) должны быть вызваны используя полное имя — 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(1000); empOne. printEmp(); }}
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|