Перейти к содержимому

Как завершить программу в java

  • автор:

Как остановить выполнение программы java

Прервать выполнение программы можно вызвав System.exit() .

Передав в качестве аргумента 0, мы дадим команду на завершение без ошибки. А передав любое ненулевое число N — команду на завершение с ошибкой номер N :

System.exit(0); // завершение без ошибки System.exit(1); // завершение c ошибкой 1 

Вызов return из головного метода main также приведет к завершению программы.

System.exit()

Метод System.exit() используется в языке Java для завершения программы. Этот метод на вход принимает значение типа int . Обычно это 0, что говорит о том, что программа завершается без ошибок. Любое другое значение говорит о том, что программа завершилась с ошибкой.

public class SysExit < public static void main(String[] args) < System.out.println("Дo возврата."); method(true); System.out.println("Этот оператор выполняться не будет."); >public static void method(boolean flag) < if (flag) < System.exit(0); >System.out.println("Этот оператор метода выполняться не будет."); > >

Результат выполнения программы:

Дo возврата.

Презентацию с видео можно скачать на Patreon .

Прерывание цикла

Программа читает с консоли строки, пока не будет введено слово exit . Если ввести это слово, переменная isExit станет true , а условие цикла ! isExit примет значение false , и цикл завершится.

В Java есть специальный оператор break , который позволяет упростить написание такой логики. Если выполнить команду break внутри цикла, он немедленно завершается: программа начнет выполнять команды, которые идут после цикла. Команда очень лаконична:

break;

Вот как можно переписать только что разобранный пример с использованием break :

Scanner console = new Scanner(System.in); while (true) < String s = console.nextLine(); if (s.equals("exit")) break; >

2. Команда continue

Но break — не единственный оператор, который позволяет управлять поведением цикла. В Java еще один оператор — continue . Если выполнить команду continue внутри цикла, текущий виток цикла завершится досрочно.

Выполнение тела цикла один раз называется витком цикла. Команда continue прерывает текущий виток цикла, но не сам цикл, в отличие от команды break . Команда тоже лаконична:

continue;

Этот оператор continue очень удобно использовать в цикле, если мы хотим «пропускать» выполнение тела цикла для некоторых ситуаций.

Задача: мы хотим написать программу, которая выводит на экран 20 чисел от 1 до 20 , и при этом пропускает числа, которые делятся на 7 . Вот как мог бы выглядеть этот код:

int i = 1; while (i i % 7) == 0 ) continue; System.out.println(i); i++; >

На самом деле такой код работать не будет, потому что i навсегда застынет на цифре 7 . Ведь вызов continue привел к тому, что пропустились две команды — System.out.println (i) и i++ . Поэтому достигнув значения 7 , переменная i перестанет меняться, и цикл будет выполняться вечно.

Мы специально написали такой код, т.к. это очень распространенная ошибка. Как же его исправить?

Тут есть два варианта:

Вариант 1: изменить i перед вызовом continue , но после вызова i % 7

Вариант 2: увеличивать i всегда в начале цикла. Но тогда стартовое значение i должно быть 0 .

int i = 1; while (i i % 7) == 0 ) < i++; continue; > System.out.println(i); i++; >
int i = 0; while (i < 20) < i++; if ( (i % 7) == 0) continue; System.out.println(i); >

Как остановить программу в java

Чтобы остановить программу в Java , можно воспользоваться методом System.exit() . Этот метод завершает работу Java Virtual Machine , вызывая операцию выхода из программы.

Например, чтобы остановить программу с кодом завершения 0, можно использовать следующий код:

System.exit(0); 

Также можно передать в метод System.exit() любой другой код завершения в качестве аргумента, если нужно передать информацию о том, почему программа была остановлена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *