Читать «Java: руководство для начинающих» онлайн - страница 40

Герберт Шилдт

Ниже приведен результат выполнения данной программы. У 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 определены следующие арифметические операторы. Оператор Выполняемое действие + Сложение (а также унарный плюс) - Вычитание (а также унарный минус) * Умножение / Деление % Деление по модулю ++ Инкремент -- Декремент