Return statement

The return statement is used in a function body and tells Java to exit the function. Depending on whether the function returns a value or not, the syntax of the return statement will be one of the following:

return <value>; //in a function that does return a value
return; //in a function that does not return a value

Consider the following function. It returns the first order from a given client found in the collection orders:

Order getOrderFrom( Person client ) { //the function return type is Order
if( orders == null )
return null; //if the collection orders does not exist, return null
for( Order o : orders ) { //for each order in the collection
if( o.client == client ) //if the field client of the order matches the given client
return o; //then return that order and exit the function
}
return null; //we are here if the order was not found – return null
}

If the return statement is located inside one or several nested loops or if statements, it immediately terminates execution of all of them and exits the function. If a function does not return a value, you can skip the return at the very end of its body: the function will be exited in its natural way:

void addFriend( Person p ) { //void means no value is returned
if( friends.contains( p ) )
return; //explicit return from the middle of the function
friends.add( p );
//otherwise the function is exited after the last statement – no return is needed
}