Как прервать выполнение метода?
Если метод ничего не возвращает (void
), то можно выполнить оператор return
, который завершит работу метода (или, проще, выйдет из него). Пример использования
public void foo(int n) {
if(n < 0) return;
else bar(n);
}
В этом случае перед вызовом метода bar
идет проверка на отрицательное число n
.
Как по мне оператор return
в void
методах в 80% случае можно заменить на какую-то логику, например метод выше можно переписать вот так
public void foo(int n) {
if(n >= 0) bar(n);
}
Если метод что-то возвращает, то оператор return
используется всегда (так как он возвращает) а иногда и более одного раза (в методах с разветвляющейся логикой)
public String foo(int n) {
if(n == 1) return "ONE";
if(n == 2) return "TWO";
return "WTF!?";
}
@Regent в комментариях меня поправил. Раз уж оператор return
вернет значение и закончит выполнение метода, то лесенка if/else
не нужна
return
. return;
для void
-методов и return value;
для других методов.throw new Exception();
. В этом случае у метода должно быть указано throws Exception
. На практике пробрасывается конкретное исключение (например, IndexOutOfBoundsException
), зачастую с текстом ошибки.Далее идут нестандартные способы, которые на практике используются крайне редко, однако они всё же останавливают выполнение метода:
System.exit(status);
, он же Runtime.getRuntime().exit(status);
. Останавливает работу программы.stop
у Thread
: Thread.currentThread().stop();
. Про то, почему он deprecated, прочитать можно здесь.Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Не нашел нужного метода по реализации вращения объекта за курсором мышиПытался сам реализовать это, но в связи с неопытностью, этого сделать...
Моя программа считывает данные из файла и отображает их в TextViewМне нужно определить количество виртуальных страниц, на которые разбивается...
Необходима помощь вот каком вопросеНаписал запросы к БД, на что было получено замечание, что "использование ps неэффективно"