|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.03.2016, 21:51 | #1 |
Регистрация: 18.03.2016
Сообщений: 6
|
Вопрос по области действия переменных
Здравствуйте.
Взгляните на этот код: class Power{ public static void main(String args[]){ int e; int result; for (int i=0; i<10; i++){ result=1; e=i; while(e>0){ result*=2; e--; } System.out.println("2 в степени "+i+" равно "+result); } } } Его выполнение дает такой результат: "2 в степени 0 равно 1 2 в степени 1 равно 2 2 в степени 2 равно 4 2 в степени 3 равно 8 2 в степени 4 равно 16 2 в степени 5 равно 32 2 в степени 6 равно 64 2 в степени 7 равно 128 2 в степени 8 равно 256 2 в степени 9 равно 512" По идее переменные объявленные в некоторой области действия не доступны за ее пределами. Вопрос: Почему тогда значение result берется из области действия цикла while??? Почему result*=2 доступен для переменных из области действия цикла for? Заранее спасибо. |
18.03.2016, 22:00 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так область переменной result — все тело функции. Вы ж не внутри блока цикла ее объявили.
Для вставки кода на форуме есть тег [CODE] [/QUOTE]
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по области видимости переменных. | nevender | Помощь студентам | 16 | 06.01.2016 21:20 |
вопрос по защите переменных | 622089 | PHP | 4 | 02.03.2012 23:40 |
Вопрос по области видимости | LMnet | Общие вопросы C/C++ | 2 | 04.04.2011 08:02 |
Вопрос по преобразованию типов переменных (TImage и FILE) | Pcrepair | Общие вопросы Delphi | 3 | 04.01.2011 15:15 |
Вопрос из области фантастики! | Nykolyn | Помощь студентам | 3 | 04.12.2010 15:57 |