Java. Переменные. Объявления переменных. инициализация переменных
- 1. Каково назначение переменных в программах на Java? Переменные предназначены для хранения данных...
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
- ⇑
1. Каково назначение переменных в программах на Java?
Переменные предназначены для хранения данных в программе.
Переменная - это именованная ячейка памяти, которая сохраняет данные. При разработке программы, программист имеет возможность использовать любое количество переменных, необходимых для решения задачи.
Переменные используются в выражениях для проведения вычислений.
Имена переменным можно задавать по своему усмотрению. Имя переменной должно задаваться согласно правилам задания имен для идентификаторов, которые подробно описываются здесь .
Желательно, чтобы имя переменной соответствовало ее назначению в программе. Например, если переменная используется для хранения некоторого минимального значения, то ее имя может быть Min.
В языке Java каждая переменная должна иметь собственный тип. Типом может быть:
Каждая переменная имеет свою область действия.
⇑
2. Что такое объявление переменной в программе?
Перед использованием, каждая переменная должна быть объявлена (описана). Общая форма объявления переменной имеет вид:
тип идентификатор[=значение] [,идентификатор[=значение] ...];
где
тип - один из примитивных типов данных , Класса или интерфейса;
идентификатор - имя переменной;
[= Значение] - начальное значение (инициализация), которое присваивается переменной при ее объявлении.
Переменных указанного типа может быть описано несколько.
⇑
3. Примеры объявлений и инициализации переменных примитивных типов
int a; // описание переменной с именем a типа int int b = 6; // описание переменной b и ее инициализация значением 6 byte t = 0 double pi = 3.1415; // описание и инициализация переменной pi типа double double x = 0, y, z = 5, // описание 3-х переменных, инициализация переменных x и z boolean b1 = true, b2; char c = 'A'; char c1, c2, c3 = 'Z'; String s1; // описание переменной с именем s1 типа класса String String s2 = "This is a string"; // описание строки s2 с его инициализацией // использование переменных после описания a = 8; y = 0.338; b2 = false; c1 = c2 = '5'; s1 = s2 + "!" ; // s1 = "This is a string!"
⇑
4. Пример объявления и инициализации переменной, является экземпляром (объектом) класса
... // описание класса class MyPoint {int x; int y; } ... // использование в программе // описание переменной MyPoint mp; mp = new MyPoint (); mp. x = 23; mp. y = 10; // можно и так MyPoint mp2 = new MyPoint (); mp2. x = 5; mp2. y = -32; ...
⇑
5. Пример объявления переменной, является интерфейсом
// объявление интерфейса MyInterface interface MyInterface {void SetXY (int xx, int yy) } // объявление класса MyPoint class MyPoint implements MyInterface {int x; // внутренняя переменная x int y; // внутренняя переменная y // реализация метода интерфейса public void SetXY (int xx, int yy) {x = xx; y = yy; } // методы класса public int GetX () {return x; } Public int GetY () {return y; }} ... // использование интерфейса и класса в программе MyInterface mi = new MyPoint (); // описание переменной, является интерфейсом MyPoint mp = new MyPoint (); // описание переменной, является классом // использование переменной mi, что является интерфейсом mi = mp; mi.SetXY (-5,6) ...
⇑
6. Что такое динамическая инициализация переменной? Пример динамической инициализации переменной
При динамической инициализации переменной присваивается значение с помощью некоторого выражения, является действительным на данный момент (момент объявления переменной).
Пример. Вычисления площади треугольника по формуле Герона. Формула Герона имеет вид:
где p - полупериметр:
a, b, c - длины сторон треугольника.
В приведенном ниже примере, при описании переменных p и s осуществляется их динамическая инициализация согласно вышеприведенных формул.
Фрагмент кода, что решает задачу следующий:
... // Вычисление площади треугольника по формуле Герона // длины сторон треугольника - задаются double a = 3.5, b = 3.6, c = 2.8; // обычная инициализация // вычисление полупериметр double p = (a + b + c) / 2; // динамическая инициализация // вычисление площади double s = Math. sqrt (p * (pa) * (pb) * (pc)) // снова динамическая инициализация ...
На момент описания переменной p, переменные a, b, c уже описаны и определены (имеют значения). Так же на момент описания переменной s, переменные a, b, c, p уже описаны и определены. Поэтому можно использовать динамическую инициализацию при описании этих переменных.
⇑
7. Что такое область видимости и время жизни переменной? пример
Область действия (видимости) переменной определяется блоком кода, в котором она описана. Блок кода может быть в методе. Кроме того, в методе могут быть параметры, которые также имеют область видимости блока кода метода. Блок кода метода начинается с фигурной открывающей скобки.
Блок кода ограничен фигурными скобками:
... {// блок кода // ...} ...
Области действия могут быть вложенными. С каждым новым блоком кода создается новая область действия переменной. Внешняя область действия включает в себя внутреннюю область действия.
Пример описания переменной в блоке кода и за его пределами.
... {// блок кода double d = 0; // описание переменной d d = 5, // в этом блоке кода переменная d доступна {// еще один вложенный блок кода int x; // описание переменной x d = 8; // здесь переменная d доступна x = 3; // здесь переменная x доступна} x = 10; // ошибка! переменная x недоступна, за пределами блока кода, где она описана} d = 5, // ошибка! Здесь переменная d недоступна ...
Переменные можно объявлять в любом месте блока кода. Однако переменную можно использовать после ее объявления. Переменную нельзя использовать в ее объявления.
Время жизни переменной определяется ее областью действия (видимости). Переменная уничтожается (теряет свое значение) сразу после окончания области действия.
⇑
связанные темы
⇑
1. Каково назначение переменных в программах на Java?1. Каково назначение переменных в программах на Java?
2. Что такое объявление переменной в программе?
6. Что такое динамическая инициализация переменной?
7. Что такое область видимости и время жизни переменной?