Инструкция break в Java
Пусть у нас есть вот такой цикл, выводящий на экран числа от
1 до 5:
for (int num = 1; num <= 5; num++) {
System.out.println(num); // выведет 1, 2, 3, 4 и 5
}
Пусть перед нами стоит задача определить, есть ли среди них
число 3. Если есть - выведем "Y", а если нет -
ничего не будем делать.
Решим нашу задачу:
for (int num = 1; num <= 5; num++) {
if (num == 3) {
System.out.println("Y"); // выведет Y
}
}
Задача решена, однако, есть проблема: после того, как число
3 уже найдено, перебор все равно бессмысленно
продолжается дальше, тратя ресурсы процессора и замедляя работу
программы.
Оптимальнее было бы сразу после нахождения числа завершить
работу цикла. Это можно сделать с помощью специальной инструкции
break, позволяющей досрочно завершить работу цикла.
Итак, давайте завершим цикл, как только нам встретится число
3:
for (int num = 1; num <= 5; num++) {
if (num == 3) {
System.out.println("Y"); // выведет Y
break; // выйдем из цикла
}
}
Инструкция break может завершать любые циклы: for
и while.
В строке "hello" выведем символы до первой буквы
'l' включительно:
String str = "hello";
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
System.out.println(ch); // выведет h, e и l
if (ch == 'l') {
break;
}
}
Найдите сумму чисел от 1 до 100, но остановите
накопление после 50.
Дан код:
String str = "abcdef";
Выведите символы до первой буквы 'd', не включая ее.
Запустите цикл по числам от 5 до -3. Выводите их
на экран до тех пор, пока не встретится число 0. После
этого цикл должен завершить свою работу.
Даны числа от 4 до -3. Найдите сумму чисел,
расположенных от начала диапазона до первого отрицательного
числа.
Дана строка "12534". Найдите позицию первого символа
'3' (считаем, что этот символ обязательно есть в строке).
Определите, сколько целых чисел, начиная с числа 1, нужно
сложить, чтобы сумма получилась больше 100.