Оператор возврата return используется в теле функции и осуществляет выход из этой функции (прекращает выполнение операторов функции и передает управление следующему за вызовом этой функции оператору). В зависимости от того, возвращает функция значение или нет, синтаксис оператора return может быть одним из следующих:
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 не нужна
}
-
Как мы можем улучшить эту статью?
-