Оператор возврата return
используется в теле функции и осуществляет выход из этой функции
(прекращает выполнение операторов функции и передает управление
следующему за вызовом этой функции оператору). В зависимости от
того, возвращает функция значение или нет, синтаксис оператора return может быть одним из следующих:
Рассмотрим следующую функцию. Она возвращает первый заказ, найденный для данного клиента в коллекции orders:
Order
getOrderFrom( Person client ) { //функция возвращает значение типа Order
if(
orders == null
)
return
null; //если коллекция orders не существует, функция возвращает null
for(
Order o : orders ) { //для каждого заказа в коллекции
if(
o.client == client ) //если поле client заказа соответствует заданному клиенту
return
o; //тогда возвращаем этот заказ и выходим из функции
}
return
null; //если мы здесь, значит заказ не был найден – возвращаем null
}
Если оператор return находится внутри одного или нескольких вложенных циклов или операторов if, то он немедленно прекращает выполнение всех этих циклов/операторов и производит выход из функции.
Если функция не возвращает значение, то Вы можете не добавлять команду return в самый конец тела функции: функция итак закончит свое выполнение естественным путем:
void
addFriend( Person p ) { //void
означает, что функция не возвращает никакого значения
if(
friends.contains( p ) )
return;
//явный выход из середины функции
friends.add( p );
//в противном случае функция завершает выполнение после последней команды – команда return
не нужна
}