Как использовать циклы For, While и Do в Java с примерами
Циклы – это управляющие операторы, используемые для повторения определенного пути выполнения, пока выполняется данное условие. В Java и большинстве других языков программирования есть три структуры цикла: for , while , & do while .
Циклы – важная часть разработки программы, поскольку они обеспечивают простой способ выполнения итераций без повторения нескольких операторов выбора.
1. Для цикла
Это оператор итерации с контр-контролем. Цикл for требует инициализации счетчика и условия для продолжения итерации, пока он истинен.
Синтаксис использования оператора for следующий:
for (initialization; condition; increment){ // statements}
Все выражения в операторе for необязательны. Однако точки с запятой ( ; ) являются обязательными.
Вы можете инициализировать счетчик вне цикла for, а затем включить в него другие выражения. См. Пример ниже:
int x=4;
for ( ;x<10;x++){
System.out.println("x"); // print out x
}
Также можно не указывать условие в цикле for . Это приведет к бесконечному циклу, поскольку компилятор Java будет интерпретировать условие как всегда истинное.
Примечание . Если вы хотите, чтобы часть приращения не отображалась в заголовке for , при необходимости вы должны включить ее в тело оператора for .
На этом этапе важно упомянуть, что объявление управляющей переменной в цикле for предоставит ей локальную область видимости. То есть переменная будет доступна только в цикле for . Попытка использовать его снаружи приведет к ошибке времени компиляции.
Однако, если вы объявите переменную вне цикла for , она будет иметь глобальную область видимости. Другими словами, вы можете получить к нему доступ и присвоенное ему значение вне оператора for.
Можно иметь петли for внутри петель for . Это называется вложенными циклами.
for ( int x=2; x<9; x=x+2){
for ( int y=5;y>=3;y--){
System.out.println(x*y); // print product of x and y
}}
Желательно не иметь более 3-х вложенных циклов. Вам становится все труднее следовать логике или исправлять ошибки по мере увеличения количества циклов for .
Обратите внимание на первый цикл for . Приращение равно x = x + 2 . Приращение не всегда должно быть +1. Это может быть любая ценность, которую вы хотите.
Приращение также может быть "декрементом". См. Вложенный цикл for ( y– ). Поскольку вы будете считать в обратном порядке, не забудьте проявить особую осторожность во время инициализации и при определении условия продолжения цикла.
2. Цикл пока
В отличие от цикла for , оператор while можно использовать без счетчика. Оператор while используется для перебора определенных операторов, пока выполняется заданное условие.
Сначала он проверяет, истинно ли условие, перед выполнением оператора (ов) в его теле.
Синтаксис следующий:
while (condition){ // statements}
Если вы хотите использовать время цикла в качестве альтернативы к для заявления, то синтаксис , как показано ниже:
initialization;
while (condition){
//statements
increment;
}
Если вы не предоставите оператор в теле while , который окончательно сделает его ложным, произойдет логическая ошибка. У вас получится бесконечный цикл.
3. Делай пока
Это похоже на оператор while . Разница в том, что оператор do..time должен выполняться хотя бы один раз, независимо от того, было ли условие входа в цикл ложным.
Сначала он начинает с выполнения операторов, указанных в теле do {} , а затем проверяет, истинно ли условие продолжения цикла. Если условие оказывается ложным, выполнение цикла останавливается, и управление программой передается следующим операторам после цикла.
Ниже приведен синтаксис do.. while :
do{
// statements to execute
} while (loop-continuation condition);
Возвращение к массивам Java
Для программистов довольно часто возникает ошибка «не на один» при формулировке условия продолжения цикла. Чтобы этого избежать, лучше использовать операторы > = , <=, а не > , < .
Вы также должны помнить об области, в которой использовалась переменная счетчика. Небрежное использование может вызвать логические ошибки в вашем коде.
Зная, что циклы For, While и Do While – еще одна ступенька на поясе вашего программиста, вы должны готовиться к изучению массивов на Java.