6. ЦИКЛЫ
6. ЦИКЛЫ
Циклами называются конструкции, в которых один и тот же блок программного кода многократно выполняется до тех пор, пока не будет выполнено условие окончания цикла. Любой цикл можно разделить на 4 части: инициализацию, тело, итерацию и условие завершения. Инициализация — это код, определяющий начальные условия цикла. Тело - это оператор, выполнение которого необходимо повторить несколько раз. Итерация - код, который требуется выполнить сразу после очередного выполнения тела. Код итерации часто используется для увеличения (уменьшения) значений счетчиков и индексов. Завершение - это логическое выражение, которое вычисляется на каждом проходе цикла. В зависимости от его значения цикл или завершается или продолжает выполняться. В Java есть три циклические конструкции: while, do-while и for.
6.1. Цикл while
Цикл while - это основная циклическая конструкция в Java. Этот цикл многократно выполняется до тех пор, пока значение логического выражения равно true. Ниже приведена общая форма оператора while:
[ инициализация; ]
while ( завершение) {
тело;
[итерация;]
}
Инициализация и итерация необязательны. Пока значение логического выражения равно true, продолжается выполнение тела цикла. Ниже приведен пример цикла while для печати пяти строк «while».
class WhileDemo {
public static void main(String args[]) {
int n = 5;
while (n > 0) {
System.out.println("while " + n);
n--;
}
}
}
В результате исполнения программы вы получите следующий результат:
while 5
while 4
while 3
while 2
while 1
6.2. Цикл do-while
Иногда возникает потребность выполнить тело цикла по крайней мере один раз, даже в том случае, когда логическое выражение с самого начала принимает значение false. Для таких случаев в Java используется циклическая конструкция do-while. Ее общая форма записи такова:
[ инициализация; ]
do {тело; [итерация;] } while ( завершение);
В следующем примере тело цикла выполняется до первой проверки условия завершения. Это позволяет совместить код итерации с условием завершения:
class Do While {
public static void main(String args[]) {
int n = 5;
do {
System.out.println("do-while " + n);
} while (--n>0);
}
}
6.3. Цикл for
Опреатор for предназначен для компактной записи циклов. В этом операторе предусмотрены места для всех четырех частей цикла. Ниже приведена общая форма оператора записи for:
for (инициализация; завершение; итерация ) тело;
Любой цикл, записанный с помощью оператора for, можно записать в виде цикла while и наоборот. Если начальные условия таковы, что при входе в цикл условие завершения не выполнено, то операторы тела и итерации не выполняются ни одного раза. В канонической форме цикла for происходит увеличение целого значения счетчика с минимального значения до определенного предела.
class ForDemo {
public static void main(String args[]) {
for (int i = 1; i <= 10; i++)
System.out.println("i = " + i);
}
}
Следующий пример — вариант программы, ведущей обратный отсчет.
class ForTick {
public static void main(String args[]) {
for (int n = 10; n > 0; n—)
System.out.println("n= " + n);
}
}
Обратите внимание — переменные можно объявлять внутри раздела инициализации оператора for. Переменная, объявленная внутри оператора for, действует в пределах этого оператора.
6.3.1. Оператор запятая
Иногда возникают ситуации, когда разделы инициализации или итерации цикла for требуют нескольких операторов. Поскольку составной оператор в фигурных скобках в заголовок цикла for вставлять нельзя, Java предоставляет альтернативный путь. Применение запятой (,) для разделения нескольких операторов допускается только внутри круглых скобок оператора for. Ниже приведен пример цикла for, в котором в разделах инициализации и итерации стоит несколько операторов.
class Comma {
public static void main(String args[]) {
int a, b;
for (a = 1, b = 4; a < b; a++, b--) {
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}
}
Вывод этой программы показывает, что цикл выполняется всего два раза,
а= 1
b = 4
а = 2
b = 3
6.4. Оператор continue
В некоторых ситуациях возникает потребность досрочно перейти к выполнению следующей итерации, проигнорировав часть операторов тела цикла, еще не выполненных в текущей итерации. В этом случае необходимо сделать переход из текущей точки в конец цикла, т.е. в точку после последнего оператора тела цикла. Для этой цели в Java предусмотрен оператор continue. В случае циклов while и do-while оператор continue приводит к пропуску операторов тела цикла, не выполненных на данной итерации, и к передаче управления на код, проверяющий условие завершения цикла. Оператор continue, стоящий в цикле for, приводит к тому, что управление немедленно передается третьей части заголовка цикла, т.е. коду, который, выполняется на каждой итерации после операторов тела цикла. Ниже приведен пример, в котором оператор continue используется для того, чтобы в каждой строке печатались два числа,
class ContinueDemo {
public static void main(String args[]) {
for (int i=0; i < 10; i++) {
System.out.print(i + " ");
if (i % 2 = 0) continue;
System.out.println("");
}
}
}
Если индекс четный, цикл продолжается без вывода символа новой строки. Результат выполнения этой программы таков:
0 1
2 3
5 7
8 9
Как и в случае оператора break, в операторе continue можно задавать метку, указывающую, в каком из вложенных циклов вы хотите досрочно прекратить выполнение текущей итерации. Для иллюстрации служит программа, использующая оператор continue с меткой для вывода треугольной таблицы умножения для чисел от 0 до 9:
class ContinueLabel {
public static void main(String args[]) {
outer: for (int i=0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if(j>i){
System.out.println("");
continue outer;
}
System.out.print(" " + (i * j));
}
}
} }
Оператор continue в этой программе приводит к завершению внутреннего цикла со счетчиком j и переходу к очередной итерации внешнего цикла со счетчиком i. В процессе работы эта программа выводит следующие строки:
0
0 1
0 2 4
0 3 6 9
0 4 8 12 16
0 5 10 15 20 25
0 6 12 18 24 30 36
0 7 14 21 28 35 42 49
0 8 16 24 32 40 48 56 64
0 9 18 27 36 45 54 63 72 81
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Циклы
Циклы Циклы — это особые выражения, позволяющие выполнить один и тот же блок кода несколько раз. Выполнение кода прерывается по наступлению некоего условия. JavaScript предлагает программистам несколько разновидностей циклов. Рассмотрим их
Циклы
Циклы Циклы — это особые выражения, позволяющие выполнить один и тот же блок кода несколько раз. Выполнение кода прерывается по наступлению некоего условия. JavaScript предлагает программистам несколько разновидностей циклов. Рассмотрим их подробнее. Цикл со счетчиком Цикл
Циклы. ru
Циклы. ru Жизненный цикл домена в зоне. ru довольно заметно отличается от циклов в зоне. com, хотя в общих чертах ситуации, конечно, схожи.В домене RU фактически невозможно тестирование доменов без оплаты, так как отсутствует период предварительной регистрации – за внесение
6. ЦИКЛЫ
6. ЦИКЛЫ Циклами называются конструкции, в которых один и тот же блок программного кода многократно выполняется до тех пор, пока не будет выполнено условие окончания цикла. Любой цикл можно разделить на 4 части: инициализацию, тело, итерацию и условие завершения.
Циклы Do
Циклы Do Все возможные версии оператора Do ... Loop предназначены для повторения заданного блока программного кода неопределенно долго, пока не будет выполнено некоторое условие.Для того чтобы выяснить, продолжать цикл или нет, оператор Do ... Loop оценивает заданное условное
ВЛОЖЕННЫЕ ЦИКЛЫ
ВЛОЖЕННЫЕ ЦИКЛЫ Вложенным называется цикл, находящийся внутри другого цикла. В этом разделе рассматривается пример, в котором вложенные циклы используются для нахождения всех простых чисел, не превышающих данного значения. Простое число - это такое число, которое
10.1. Циклы
10.1. Циклы Цикл -- это блок команд, который исполняется многократно до тех пор, пока не будет выполнено условие выхода из цикла.циклы forfor (in)Это одна из основных разновидностей циклов. И она значительно отличается от аналога в языке C.for arg in [list] do команда(ы)... done На каждом
10.2. Вложенные циклы
10.2. Вложенные циклы Цикл называется вложенным, если он размещается внутри другого цикла. На первом проходе, внешний цикл вызывает внутренний, который исполняется до своего завершения, после чего управление передается в тело внешнего цикла. На втором проходе внешний цикл
22.7. Циклы
22.7. Циклы Как и в любом языке программирования, в bash можно использовать циклы. Мы рассмотрим циклы for и while, хотя вообще в bash доступны также циклы until и select, но они применяются довольно редко.Синтаксис цикла for выглядит так: for переменная in список do команды done В цикле при каждой
Циклы
Циклы Цикл в общем смысле слова это повторение одних и тех же действий несколько раз. Если говорить об XSLT, то цикл это многократное выполнение одного и того же шаблона. Для подавляющего большинства случаев в преобразованиях достаточно бывает использовать такие элементы,
Урок 11. Циклы
Урок 11. Циклы Условные выражения являются необходимым элементом программирования; не менее важный элемент – циклы.Компьютеры превосходно выполняют повторяющиеся задания. Во Flash этими заданиями являются циклы. Наиболее распространенная их разновидность – цикл for. Он
18.5.11. Вложенные циклы for
18.5.11. Вложенные циклы for Чтобы вложить, циклы, достаточно цикл for поместить в другой цикл:for имя_переменной in listdofor имя_переменной2 in list2doкоманда1done doneВ следующем сценарии представлен вложенный цикл for. Имеются два списка, APPS и SCRIPTS, первый из которых содержит путь к
23.1.5. Циклы for
23.1.5. Циклы for При работе с циклом for пользователи иногда забывают в части списка указать знак доллара. В результате список воспринимается как
Релиз-циклы
Релиз-циклы Обновление всей системы или отдельных её важных компонентов (ядра, Иксов, используемого десктопа, не говоря уже о единичных пакетах) подчас действительно является необходимостью. Так что политика обновления дистрибутивов – хотя и не первый фактор их
Циклы
Циклы Синтаксис циклов описан при обсуждении Проектирования по Контракту (лекция 11):frominitialization_instructionsinvariantinvariantvariantvariantuntilexit_conditionlooploop_instructionsendПредложения invariant и variant факультативны. Предложение from требуется, хотя и может быть пустым. Оно задает инициализацию параметров