Invoking a static method. A call on a static
method is its name followed by expressions
that specify argument values in parentheses,
separated by commas. When the method call is part of an expression, the method
computes a value and that value is used in place of the call in the expression. For example
the call on rank() in BinarySearch() returns an int value. A method call
followed by a semicolon is a statement that generally causes side effects. For example,
the call Arrays.sort() in main() in BinarySearch is a call on the system method
Arrays.sort() that has the side effect of putting the entries in the array in sorted
order. When a method is called, its argument variables are initialized with the values
of the corresponding expressions in the call. A return statement terminates a static
method, returning control to the caller. If the static method is to compute a value, that
value must be specified in a return statement (if such a static method can reach the
end of its sequence of statements without a return, the compiler will report the error).