Операторы перехода 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 прекращает выполнение метода, в котором он находится.
Exit a Method in Java
- Exit a Java Method Using System.exit(0)
- Exit a Java Method Using return
In this tutorial, we will uncover the techniques to exit or get out of a method in Java. Sometimes, there is a requirement to stop the current running function and get out of it. Commonly it happens when a condition is met. We will check out two ways to how to exit a method in Java.
Exit a Java Method Using System.exit(0)
System.exit(0) is a method that, when executed, terminates the Java Virtual Machine (JVM), which results in termination of the currently running program too. It takes a single argument that is the status. If the status is 0, it indicates that the termination is successful, while a non-zero status tells an unsuccessful termination. We use this method to exit a method in the following example.
We have a method exampleMethod() that takes an array of int type. Our goal is to exit the exampleMethod() when the index becomes more than 3. To do this, we loop through the array and insert a condition that, if met, will execute System.exit(0) that will terminate the JVM, and thus the method will be exited.
public class ExitMethod public static void main(String[] args) int[] array = 0, 2, 4, 6, 8, 10>; exampleMethod(array); > public static void exampleMethod(int[] array) for (int i = 0; i array.length; i++) if (i > 3) System.exit(0); > System.out.println("Array Index: " + i); > > >
Array Index: 0 Array Index: 1 Array Index: 2 Array Index: 3
Exit a Java Method Using return
Another way to exit a method is by using the return keyword. This keyword completes the execution of the method when used and can also be used to return a value from the function. In the below example, we have a method, exampleMethod , that takes two parameters: num1 and num2 .
We perform subtraction in the method, but we also check if num2 is greater than num1 and if this condition becomes true, return will exit the method, and the execution will be completed. As we are using void as the return type, this method will not return any value.
public class ExitMethod public static void main(String[] args) exampleMethod(2, 5); exampleMethod(3, 2); exampleMethod(100, 20); exampleMethod(102, 110); > public static void exampleMethod(int num1, int num2) if (num2 > num1) return; int subtractedValue = num1 - num2; System.out.println(subtractedValue); > >
1 80
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
Related Article — Java Method
- Method Chaining in Java
- Optional ifPresent() in Java
- Override and Overload Static Methods in Java
- Use of the flush() Method in Java Streams
- Use the wait() and notify() Methods in Java
- Custom Helper Method in Java
Copyright © 2023. All right reserved
Как выйти из метода java
Для выхода из метода в Java можно использовать оператор return .
Если метод должен вернуть результат работы, то этот результат необходимо указать после слова return .
Вызов return из метода main головной программы приведет к окончанию работы программы.
public class App public static void main(String[] args) func1(-1); // => n System.out.println(func2(1)); // => n > 0 > public static void func1(int n) if(n 0) System.out.println("n ); return; > System.out.println("n > 0"); > public static String func2(int n) if(n 0) return "n ; > return "n > 0"; > >
System.exit() в Java – что это?
Java – язык программирования, имеющий множество приложений. При программировании для одного из этих приложений вы можете застрять на каком-то этапе этой программы. Что делать в этой ситуации? Есть ли способ выйти в этой самой точке? Если эти вопросы вас беспокоят, вы попали в нужное место.
Что вы можете сделать, это просто использовать метод System.exit(), который завершает текущую виртуальную машину Java, работающую в системе.
Как вы выходите из функции в Java?
Вы можете выйти из функции, используя метод java.lang.System.exit(). Этот метод завершает текущую запущенную виртуальную машину Java (JVM). Он принимает аргумент «код состояния», где ненулевой код состояния указывает на ненормальное завершение.
Если вы работаете с циклами Java или операторами switch, вы можете использовать операторы break, которые используются для прерывания / выхода только из цикла, а не всей программы.
Что такое метод System.exit()?
Метод System.exit() вызывает метод exit в классе Runtime. Это выходит из текущей программы, завершая виртуальную машину Java. Как определяет имя метода, метод exit() никогда ничего не возвращает.
Вызов System.exit (n) фактически эквивалентен вызову:
Runtime.getRuntime().exit(n)
Функция System.exit имеет код состояния, который сообщает о завершении, например:
- выход (0): указывает на успешное завершение.
- выход (1) или выход (-1) или любое ненулевое значение – указывает на неудачное завершение.
Исключение: выдает исключение SecurityException.
Примеры
package Edureka; import java.io.*; import java.util.*; public class ExampleProgram< public static void main(String[] args) < int arr[] = ; for (int i = 0; i < arr.length; i++) < if (arr[i] >= 4) < System.out.println("Exit from the loop"); System.exit(0); // Terminates JVM >else System.out.println("arr["+i+"] = " + arr[i]); > System.out.println("End of the Program"); > >
Выход: arr [0] = 1 arr [1] = 2 arr [2] = 3 Выход из цикла
Объяснение: В приведенной выше программе выполнение останавливается или выходит из цикла, как только он сталкивается с методом System.exit(). Он даже не печатает второй оператор печати, который говорит «Конец программы». Он просто завершает программу сам.
package Edureka; import java.io.*; import java.util.*; public class ExampleProgram< public static void main(String[] args) < int a[]= ; for(int i=0;ielse < System.out.println("Exit from the loop"); System.exit(0); //Terminates jvm >> > >
Вывод: array [0] = 1 array [1] = 2 array [2] = 3 array [3] = 4 Выход из цикла
Объяснение: В приведенной выше программе она печатает элементы до тех пор, пока условие не станет истинным. Как только условие становится ложным, оно печатает оператор и программа завершается.
