Программирование мобильных телефонов на Java



1.8.1. Оператор while



Синтаксическая запись оператора while выглядит следующим образом:

while (условие)
{
// действия
}


Также имеет место выполнение определенного предусловия, но в отличие от оператора if/else, данная конструкция построена на циклах проверки условия. Когда программа доходит до оператора while, если предложенное условие истинно, происходит выполнение всех действий в блоке из фигурных скобок {...}. После выполнения этих действий, снова происходит очередная проверка условий после оператора whilе и если условие опять истинно, происходит повторное выполнение действий в блоке. Действия в блоке выполняются до тех пор, пока условие не станет ложным, тогда происходит выход из цикла while. В основном все циклы управляются при помощи так называемых счетчиков. Рассмотрим не большой пример:

int i = 0;
while (i < 10)
{
// действия
i + +;
}


Сначала переменной i присваивается значение 0, далее происходит проверка условия i<10, если переменная i меньше цифры 10, выполняются все действия в блоке цикла. В конце блока переменная i увеличивается на 1и вновь проверяется условие в цикле. И так ровно десять, раз для нашего примера. Переменная i служит счетчиком для цикла while. Отсутствие операции по увеличению переменной i на единицу приведет к бесконечному циклу, поскольку 0 всегда будет меньше десяти. В циклах так же можно использовать оператор декремента, например:

int. i = 10;
while (i>0)
 {
// действия i --;
}


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

В цикле while имеется возможность использования булевых переменных, содержащих значения false или true. После оператора while происходит проверка предусловия, то можно воспользоваться булевой переменной, например:

boolean i = true,
while (i)
{
// действия
}


Переменная i истинна, ей присвоено значение true, поэтому происходит выполнение цикла whilе. Единственное о чем необходимо позаботиться - это о выходе из такого цикла, поскольку переменная i истинна, то цикл while будет выполняться бесконечно и такие циклы носят названия бесконечных циклов.

Напоследок хочу еще обратить ваше внимание на оператор равно ==. Если записать цикл таким образом:

int i = 0
while (i = = 5)
{
// действия
i + +;
}


То получится вполне работоспособный цикл, а вот если вы ошибетесь или по привычке воспользуетесь классическим вариантом оператора равно =, использующимся в математике, то у вас будет проблема в виде бесконечного цикла.

int i =0
while (i = 5)
{
// действия
i++;
}


В предусловии происходит присвоение переменной i значения 5, а оттого, что это действие не запрещено, то произойдет выполнение блока цикла. В конце которого значение i увеличится на один, но в предусловии после оператора while, переменной i новь будет присвоено значение пять - это пример простого бесконечного цикла и как следствие, классическая ошибка, случающаяся с начинающими программистами.

Назад Начало Вперед



Книжный магазин