Как завершить цикл в java
Для прерывания выполнения цикла в Java можно использовать оператор break . Как только оператор break будет выполнен в теле цикла, управление передается за пределы цикла.
Например, в цикле for можно использовать break следующим образом:
for (int i = 0; i 10; i++) if (i == 5) break; // прерываем цикл, когда i = 5 > System.out.println(i); >
В этом примере цикл будет выполняться, пока значение i меньше 10. Однако, когда i достигнет 5, оператор break будет выполнен и цикл прервется. В результате на экран будут выведены числа от 0 до 4.
Также можно использовать оператор break в цикле while и do-while
Как остановить цикл while java
Мне кажется небольшая ошибка, там где считали сумму кубов натуральных чисел, квадрат которых меньше их количества. Посчитали кубы чисел, квадрат которых больше их количества. Нужно изменить условие задачи , или в условном операторе написать >=
Максим Li Уровень 36
4 декабря 2023
Louis d’Ipinaisse Уровень 14
29 октября 2023
я школьник 00-х но тоже видел такие тетрадки)
10 сентября 2023
очень понятно, доступно и полезно. вам +100 к карме )
31 августа 2023
Вот на яблоках всегда понятнее! Спасибо!
dim11981 Уровень 47
8 августа 2023
do < . >while (result < 10000); // условие ПРОДОЛЖЕНИЯ цикла
из выражения внутри while понятно, когда придется вывалиться из цикла, но семантически это условие продолжения, а не выхода, иначе, присвоив result = 0 сразу выходим, а хотели в цикл)) но в некоторых других языках, действительно, может быть условием выхода.
aleksEy Уровень 16
9 июня 2023
Ну тогда делаем вывод таблицы в одну строчку 🙂 System.out.printf( "____2__3__4__5__6__7__8__9_ \n2 | 4 6 8 10 12 14 16 18 \n3 | 6 9 12 15 18 21 24 27 \n4 | 8 12 16 20 24 28 32 36 \n5 | 10 15 20 25 30 35 40 45 \n6 | 12 18 24 30 36 42 48 54 \n7 | 14 21 28 35 42 49 56 63 \n8 | 16 24 32 40 48 56 64 72 \n9 | 18 27 36 45 54 63 72 81");
Evgeny Makarov Уровень 13
2 мая 2023
Пример для последнего случая – вычисление в цикле while суммы кубов натуральных чисел, у которых квадрат меньше их количества: public static void main(String[] args) < int sum = 0; // итоговая сумма int i = 0; // стартовое число ряда int count = 20; // количество чисел while(i<=count) < i++; // берем очередное число, i++ эквивалентно i=i+1 if (i*i <=count)// если квадрат числа меньше continue; // количества чисел - сумму не считаем // переходим к следующему числу в цикле sum += i*i*i; // иначе считаем сумму кубов чисел > // sum += i*i*i - форма записи, аналогичная sum = sum + i*i*i System.out.println(sum);// печатаем результат >
Мне одному кажется, что должно быть (i*i>=count) в условии оператора continue?
Остановить цикл while
Подскажите пожалуйста, не могу понять как остановить цикл while , создал массив из 5 ячеек с Random и теперь если меняю в ячейке 2 значение на 1, то цикл не останавливается, то есть мне нужно остановить цикл если во всех ячейках одно значение 1.
int count[] = new int [5]; count[0] = 1; count[1] = 1; count[2] = 0; count[3] = 1; count[4] = 1;` Random rand = new Random(); int ran = rand.nextInt(count.length); while(count[ran] >= 1)
Отслеживать
9,375 7 7 золотых знаков 24 24 серебряных знака 57 57 бронзовых знаков
задан 24 дек 2017 в 12:45
Enjo Flash Enjo Flash
145 1 1 серебряный знак 10 10 бронзовых знаков
> остановить цикл если во всех ячейках одно значение 1 — вроде можно так: while (!Arrays.stream(count).allMatch(x => x == 1)) < .
24 дек 2017 в 13:06
что не так , где метод .allMatch() он подчеркнут красным
Операторы перехода break, continue, return
В Java есть три оператора перехода: break, continue, return. Операторы перехода передают управление другой части программы.
Оператор break
Оператор break завершает последовательность операторов в операторе switch, позволяет выйти из цикла и в качестве оператора безусловного перехода (goto).
Рассмотрим пример выхода из цикла. Используя оператор break, можно вызвать немедленное завершение цикла, пропуская условное выражение и другой код в теле цикла. Когда приложение встречает оператор break внутри цикла, оно прекращает выполнение цикла и передаёт управление оператору, следующему за циклом.
for(int i = 0; i < 100; i++) < if(i == 5) break; // выходим из цикла, если i равно 5 mInfoTextView.append("i: " + i + "\n"); >mInfoTextView.append("Цикл завершён");
Получим следующий результат:
i: 0 i: 1 i: 2 i: 3 i: 4 Цикл завершён
Вроде хотели, чтобы цикл for выполнялся от 0 до 100, а сами коварно вышли из него, когда значение переменной i стало равным 4.
Код можно переписать с использованием цикла while:
int i = 0; while(i < 100) < if(i == 5) break; // выходим из цикла, если i равно 5 mInfoTextView.append("i: " + i + "\n"); i++; >mInfoTextView.append("Цикл завершён");
Результат будет такой же.
При использовании вложенных циклов оператор break осуществляет выход только из самого внутреннего цикла, не оказывая влияния на внешний цикл. Создадим пример с использованием вложенных циклов:
for (int i = 1; i < 4; i++) < mInfoTextView.append("Проход " + i + ": "); for (int j = 0; j < 100; j++) < if (j == 5) break; // выходим из цикла, если j равно 5 mInfoTextView.append(j + " "); >mInfoTextView.append("\n"); > mInfoTextView.append("Циклы завершёны");
Получим следующий результат:
Проход 1: 0 1 2 3 4 Проход 2: 0 1 2 3 4 Проход 3: 0 1 2 3 4 Циклы завершёны
В примере оператор break прервал выполнение второго цикла, но первый цикл продолжал работать.
В цикле можно использовать несколько операторов break, но увлекаться не стоит. Лучше переделайте код.
break как замена goto
В Java нет оператора безусловного перехода goto. Если вы не знаете, что это такое, то можете смело пропустить данный абзац. У оператора break есть особая форма записи:
break метка;
Обычно метка - это имя метки, идентифицирующей блок кода. Я ни разу не встречал в реальных примерах данный способ, поэтому не буду приводить пример использования, чтобы вас не запутать.
Оператор continue
Иногда требуется, чтобы повторение цикла начиналось с более раннего оператора его тела. В циклах while и do-while оператор continue вызывает передачу управления непосредственно управляющему условному выражению цикла. В цикле for управление передаётся вначале итерационной части цикла for, а потом условному выражению. При этом во всех циклах промежуточный код пропускается.
В следующем примере выводим два числа в каждой строке:
for (int i = 0; i
В этом коде оператор % служит для проверки чётности значения переменной i. Если значение чётное, выполнение цикла продолжится дальше, а если нечётное, то произойдёт переход на новую строку. В результате мы получим следующий текст:
0 1 2 3 4 5 6 7 8 9
Как и оператор break, оператор continue может содержать метку содержащего его цикла, который нужно продолжить. Создадим пример вывода треугольной таблицы умножения чисел от 0 до 9.
outer: for (int i = 0; i < 10; i++) < for (int j = 0; j < 10; j++) < if (j >i) < mInfoTextView.append("\n"); continue outer; >mInfoTextView.append(" " + (i * j)); > > mInfoTextView.append("\n");
В этом примере оператор continue прерывает цикл подсчёта значений переменной j и продолжает его со следующей итерации цикла подсчёта переменной i. На экране увидим текст в таком виде:
0 0 1 0 2 4 0 3 6 9 0 4 8 12 16 и т.д.
Данный оператор в практике встречается достаточно редко. Но на всякий случай помните о нём. Иногда он может пригодиться.
Оператор return
Оператор return используют для выполнения явного выхода из метода. Оператор можно использовать в любом месте метода для возврата управления тому объекту, который вызвал данный метод. Таким образом, return прекращает выполнение метода, в котором он находится.