Java break оператор используется для завершения текущей итерации выполнения цикла. Есть две формы оператора break — unlabeled и labeled (немаркированный и маркированный). Преимущественно оператор break используется для завершения цикла на основе некоторых условий.
Unlabeled break находится в теле цикла и может быть использован с switch, for, while и do-while циклами.
Вот пример использования с for, while и do-while циклами.
JavaBreak.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
package ua.com.prologistic.util; public class JavaBreak { public static void main(String[] args) { String[] arr = {"A", "E", "I", "O", "U"}; //найдем O в массиве с помощью цикла for for(int len=0; len < arr.length; len++){ if(arr[len].equals("O")){ System.out.println("Элемент 'O' есть в массиве под индексом "+len); //Используем break (прекращаем выполнение цикла) как только мы нашли необходимый элемент в for цикле break; } } //используем break в while цикле int len=0; while(len < arr.length){ if(arr[len].equals("E")){ System.out.println("Элемент 'E' есть в массиве под индексом "+len); //Используем break (прекращаем выполнение цикла) как только мы нашли необходимый элемент в while цикле break; } len++; } len = 0; //Используем break в do-while цикле do{ if(arr[len].equals("U")){ System.out.println("Элемент 'U' есть в массиве под индексом "+len); //Используем break, как только мы нашли необходимый элемент в do-while цикле break; } len++; }while(len < arr.length); } } |
Маркированный break (Labeled break) используется для завершения внешнего цикла. Пример использования Labeled break:
JavaBreakLabel.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
package ua.com.prologistic.util; public class JavaBreakLabel { public static void main(String[] args) { int[][] arr = {{1, 2}, {3, 4}, {9, 10}, {11, 12}}; boolean found = false; int row = 0; int col = 0; //найдем индекс первого числа > 10 searchint: for (row=0; row < arr.length; row++) { for (col=0; col < arr[row].length; col++) { if (arr[row][col] > 10) { found = true; //используем маркированный break для завершения внешнего цикла break searchint; } } } if (found) System.out.println("Первое число больше 10 находится по индексу: [" + row + "," + col + "]"); } } |
Полезно и понятно.
Спасибо!