articles
15 уровень

Оператор return

Статья из группы Архив info.javarush.ru
участников
Последний из управляющих операторов — 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

Комментарии (6)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
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, Киев, Ukraine
12 августа, 15:04
спасибо за объяснение
Igor
Уровень 18, Киев, Украина
21 июня 2018, 15:15
Да это из учебника Шилдта. Вот только что читал учебник и через полчаса заглянул сюда. Какое совпадение :))
Иван Сапронов
Уровень 32, Ставрополь, Россия
19 июня 2018, 12:55
Это текст из учебника Шилдта "Java для начинающих", если не ошибаюсь? Вы не думаете, что есть смысл немного отредактировать статью с цель избежать нападок от правообладателя? Но в целом, статья хорошая, спасибо. Я лично так Шилдта до конца и не осилил - застопорился примерно на середине...