русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Блоки и локальные переменные


Дата добавления: 2015-06-12; просмотров: 636; Нарушение авторских прав


Блок это последовательность операторов, объявлений локальных классов или локальных переменных, заключенных в скобки. Область ви­димости локальных переменных и классов ограничена блоком, в котором они определены.

Операторы в блоке выполняются слева направо, сверху вниз. Если все операторы (выражения) в блоке выполняются нормально, то и весь блок выполняется нормально. Если какой-либо оператор выражения завершается ненормально, то и весь блок завершается ненормально.

Нельзя объявлять несколько локальных переменных с одинаковыми именами в пределах видимости блока. Приведенный ниже код вызовет ошибку времени компиляции.

public class Test {

public TestO {

}

public static void main(String[] args) {

Testt- new TestO;

int x;

lbl:{

intx- 0;

System.out,println("x = " + x);

} } }

В то же время не следует забывать, что локальные переменные перекрывают видимость переменных-членов. Так, следующий пример отрабо­тает нормально.

public class Test { static intx = 5; public TestO {} public static void main(String[] args) {

Testt= new TestO;

nt X = 1;

System.out.println("x - " + x);

} }

Ha консоль будет выведено x = 1.

To же самое правило применимо к параметрам методов.

public class Test { static int x; public TestO {

}

public static void main{Sthng[] args) {

Testt = new TestO;

t.test(5);

System,out.println("Mennber value x = " + x);

}

private void test(int x){ this.x = x + 5;

System.out. printlnC'Local value x = " + x); } }

В результате работы этого примера на консоль будет выведено:

Local value х = 5 Member value х= 10

На следующем примере продемонстрируем, что область видимости локальной переменной ограничена областью видимости блока, или опе­ратора, в пределах которого данная переменная объявлена.



public class Test { static int X = 5; public Test() { }

public static void main(String[] args) { Testt = newTestO;

{

int X = 1;

System.out.printlnC'First block x = " + x); } {

intx = 2;

System.out.printlnC'Second blockx =" + x); }

System.out.print("For cycle x = "); for(int X =0;x<5;x++) {

System.out.print("" + x); } } }

Данный пример откомпилируется без ошибок и на консоль будет выведен следующий результат:

First block X = 1 Second block x =2 For cycle X = 0 1 2 3 4

Следует помнить, что определение локальной переменной есть исполняемый оператор. Если задана инициализация переменой, то выражение полоняется слева направо и его результат присваивается локальной переменной. Использование неинициализированных локальных переменных прешено и вызывает ошибку компиляции.

Следующий пример кода

public class Test { static int X = 5; public TestO {

}

public static void main(String[] args) {

Testt = nevtfTest{); intx; inty = 5; if{y>3)x=1; System.out.println(x); } }

вызовет ошибку времени компиляции, т.к. возможны условия, при кото­рых переменная х может быть не инициализирована до ее использования (несмотря на то, что в данном случае операторif(y > 3) и следующее за ним выражение х = 1; будут выполняться всегда).



<== предыдущая лекция | следующая лекция ==>
Нормальное и прерванное выполнение операторов | Пустой оператор


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.847 сек.