Java руководство для начинающих - Шилдт Герберт (2012)
-
Год:2012
-
Название:Java руководство для начинающих
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:Вильямс
-
Страниц:316
-
ISBN:978-5-8459-1770-6
-
Рейтинг:
-
Ваша оценка:
Java руководство для начинающих - Шилдт Герберт читать онлайн бесплатно полную версию книги
Следует также иметь в виду, что переменные, созданные в области их действия, удаляются, как только управление в программе передается за пределы этой области. Следовательно, после выхода из области действия переменной содержащееся в ней значение теряется. В частности, переменные, объявленные в теле метода, не хранят значения в промежутках между последовательными вызовами этого метода. Таким образом, срок действия переменной ограничивается областью ее действия.
Если при объявлении переменной осуществляется ее инициализация, то переменная будет повторно инициализироваться при каждом входе в тот блок, в котором она объявлена. Рассмотрим в качестве примера следующую программу:
// Демонстрация срока действия переменной,
class VarlnitDemo {
public static void main(String args[]) {
int x;
for(x = 0; x < 3; x++) {
int у = -1; // переменная у инициализируется при каждом входе в блок
System.out.println("у is: 11 + у); // всегда выводится значение -1
у = 100;
System.out.println("у is now: " + у);
}
}
}
Ниже приведен результат выполнения данной программы.
У is: -1
у is now: 100
у is: -1
у is now: 100
у is: : -1
у is now: 100
Как видите, на каждом шаге цикла for переменная у инициализируется значением -1. Затем ей присваивается значение 100, но по завершении кодового блока данного цикла оно теряется.
Для правил области действия в Java характерна следующая особенность: имя переменной во вложенном блоке не может совпадать с именем переменной во внешнем блоке. Рассмотрим следующий пример программы. В ней предпринимается попытка объявить две переменные с одним и тем же именем в разных областях действия, и поэтому она не подлежит компиляции.
/*
В этой программе предпринимается попытка объявить переменную
во внутренней области действия с таким же именем, как и у переменной,
определенной во внешней области действия.
*** Эта программа не подлежит компиляции. ***
*/
class NestVar {
public static void main(String args[]) {
int count; // Первое объявление переменной count
for (count = 0; count < 10; count = count+1) {
System.out.println("This is count: " + count);
int count; // Второе объявление переменной count.
// Недопустимо, поскольку точно такая же
// переменная объявлена раньше!!!
for(count = 0; count < 2; count++)
System.out.println("This program is in error!");
}
}
}
Если у вас имеется некоторый опыт программирования на С или C++, то вам, вероятно, известно, что в этих языках отсутствуют какие-либо ограничения на имена переменных, объявляемых во внутренней области действия. Так, в С и C++ объявление переменной count в блоке внешнего цикла for из приведенного выше примера программы вполне допустимо, несмотря на то, что такая же переменная уже объявлена во внешнем блоке. В этом случае переменная во внутреннем блоке скрывает переменную из внешнего блока. Создатели Java решили, что подобное сокрытие имен переменных может привести к программным ошибкам, и поэтому запретили его.
Операторы
В Java предусмотрено большое количество операторов. Оператор — это знак, указы вающий компилятору на необходимость выполнения определенного математического или логического действия. Операторы в Java делятся на четыре общие категории: арифметические, поразрядные, логические и отношения. Кроме того, в Java определены некоторые дополнительные операторы для применения в особых случаях. В этой главе будут рассмотрены арифметические и логические операторы, а также операторы отношения присваивания. А о поразрядных и специальных операторах речь пойдет далее в этой книге.
Арифметические операторы
В языке Java определены следующие арифметические операторы.
Оператор
Выполняемое действие