Страницы

29 апр. 2015 г.

Оператор while

Оператор while — наиболее часто используемый оператор цикла Java. Он повторяет оператор или блок операторов до тех пор, пока значение его управляющего выражения истинно. Он имеет следующую общую форму:

W00001

Условием может быть любое булевское выражение. Тело цикла будет выполняться до тех пор, пока условное выражение истинно. Когда условие становится ложным, управление передается строке кода, непосредственно следующей за циклом. Фигурные скобки могут быть опущены, только если в цикле повторяется только один оператор.

Ну и сразу небольшой примерчик:

W00002

Данная программа – это модификация Hello World из этого поста. Только она начинает выводить приветствия с последнего введенного аргумента.

W00003

Поскольку цикл while вычисляет свое условное выражение в начале цикла, тело цикла не будет выполнено ни разу, если в самом начале условие оказывается ложным.

W00004

 

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

Тело цикла while (или любого другого цикла Java) может быть пустым. Это обусловлено тем, что синтаксис Java допускает применение нулевого оператора (содержащего только символ точки с запятой). Например:

W00005

Данный код выведет следующую строку:  Среднее значение равно 150

Этот цикл while работает следующим образом. Значение i увеличивается, а значение j уменьшается на единицу. Затем программа сравнивает эти два значения. Если новое значение i по-прежнему меньше нового значения j , цикл повторяется. Если значение i равно или больше значения j , выполнение цикла прекращается. По выходу из цикла переменная i будет содержать среднее значение исходных значений i и j . (Конечно, эта процедура работает только в том случае, если в самом начале значение i меньше значения j). Как видите, никакой потребности в наличии тела цикла не существует. Все действия выполняются внутри самого условного выражения. В профессионально написанном Java-коде короткие циклы часто не содержат тела, если само по себе управляющее выражение может выполнять все необходимые действия.

Комментариев нет:

Отправить комментарий