Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...