articles
15 уровень

Оператор return

Статья из группы Архив info.javarush
участников
Последний из управляющих операторов — return. Его используют для выполнения явного возврата из метода. То есть он снова передает управление объекту, который вызвал данный метод. Как таковой этот оператор относится к операторам перехода. Хотя полное описание оператора return придется отложить до рассмотрения методов в главе 6, все же кратко ознакомимся с его особенностями. Оператор return - 1Оператор return можно использовать в любом месте метода для возврата управления тому объекту, который вызвал данный метод. Таким образом, оператор return немедленно прекращает выполнение метода, в котором он находится. Следующий пример иллюстрирует это. В данном случае оператор return приводит к возврату управления системе времени выполнения Java, поскольку именно она вызывает метод main ().
// Демонстрация использования оператора return.
class Return {
public static void main(String args[]) {
boolean t = true;
System.out.println("До выполнения возврата.");
if (t) return; // возврат к вызывающему объекту
System.out.println("Этот оператор выполняться не будет.");
}
}
Вывод этой программы имеет вид:
До выполнения возврата.
Как видите, заключительный оператор println () не выполняется. Сразу после выполнения оператора return программа возвращает управление вызывающему объекту. И последний нюанс: в приведенной программе использование оператора if (t) обязательно. Без него компилятор Java сигнализировал бы об ошибке "unreachable code" ("недостижимый код"), поскольку выяснил бы, что последний оператор println () никогда не будет выполняться. Во избежание этой ошибки в демонстрационном примере пришлось ввести компилятор в заблуждение с помощью оператора if. Ссылка на первоисточник: Оператор return
Что еще почитать:

Оператор return в Java

Комментарии (7)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
GigaMax
Уровень 16
13 февраля 2020, 18:33
интересно)
Василий
Уровень 1
14 ноября 2019, 18:29
для чего этод метод ?! я понять не могу!!!
Ilya Britkov
Уровень 27
17 сентября 2020, 10:36
вот пример (не парься сильно насчет остального кода - тут это не важно):
public void run() {
    while (true) {
        Thread.sleep(1000);
        System.out.println("Tik");

        if (!ClockManager.isClockRun)
        return;
    }
}
Здесь мы имеет метод run, который что-то делает. Внутри этого метода есть цикл while(true) внутри которого выполняются какие-то действия. Но когда начинает выполняться условие ClockManager.isClockRun нам нужно НЕ ПРОСТО ВЫЙТИ ИЗ ЦИКЛА while, нам НУЖНО ЗАВЕРШИТЬ РАБОТУ МЕТОДА. Таким образом, применив в цикле while оператор break; ты выйдешь только из цикла while, а метод run() продолжит работать. Однако, если мы используем оператор return; внутри цикла, мы выйдем не только из цикла while() а сразу из текущего метода, в данном случае run() Если прочитав несколько статей эта тема до сих пор непонятна, то оставь ее на будущее.
Anonymous #3090671
Уровень 2
12 августа 2022, 15:04
спасибо за объяснение
Denis Gritsay
Уровень 35
14 сентября 2023, 12:25
самое лучшее обьяснение разницы между ретурн и брейк и смысла этих операторов, как у Толстого, очень ясно выражены глубокие мысли. Противоположность это когда простые вещи так объясняют что вообще ничего не понятно.
Igor
Уровень 18
21 июня 2018, 15:15
Да это из учебника Шилдта. Вот только что читал учебник и через полчаса заглянул сюда. Какое совпадение :))
Иван Сапронов
Уровень 32
19 июня 2018, 12:55
Это текст из учебника Шилдта "Java для начинающих", если не ошибаюсь? Вы не думаете, что есть смысл немного отредактировать статью с цель избежать нападок от правообладателя? Но в целом, статья хорошая, спасибо. Я лично так Шилдта до конца и не осилил - застопорился примерно на середине...