1. Lesson: Language Basics
  2. Variables
    1. Naming
    2. Primitive Data Types
    3. Default Values
    4. Literals
    5. Using Underscore Characters in Numeric Literals
    6. Arrays
    7. Declaring a Variable to Refer to an Array
    8. Creating, Initializing, and Accessing an Array
    9. Copying Arrays
    10. Summary of Variables
    11. Questions and Exercises: Variables
  3. Expressions, Statements, and Blocks
    1. Expressions
    2. Statements
    3. Blocks
    4. Questions and Exercises: Expressions, Statements, and Blocks
  4. Control Flow Statements
    1. The if-then Statement
    2. The if-then-else Statement
    3. The switch Statement
    4. Using Strings in switch Statements
    5. The while and do-while Statements
    6. The for Statement
    7. The break Statement
    8. The continue Statement
    9. The return Statement
    10. Summary of Control Flow Statements
    11. Questions and Exercises: Control Flow Statements
  5. Lesson: Classes and Objects
    1. Classes
    2. Declaring Classes
    3. Declaring Member Variables
    4. Access Modifiers
    5. Types
    6. Variable Names
    7. Defining Methods
    8. Naming a Method
    9. Overloading Methods
    10. Providing Constructors for Your Classes
    11. Passing Information to a Method or a Constructor
    12. Parameter Types
    13. Arbitrary Number of Arguments
    14. Parameter Names
    15. Passing Primitive Data Type Arguments
    16. Passing Reference Data Type Arguments
    17. Objects
    18. Creating Objects
    19. Declaring a Variable to Refer to an Object
    20. Instantiating a Class
    21. Initializing an Object
    22. Using Objects
    23. Referencing an Object's Fields
    24. Calling an Object's Methods
    25. The Garbage Collector
    26. More on Classes
    27. Returning a Value from a Method
    28. Returning a Class or Interface
    29. Using the this Keyword
    30. Using this with a Field
    31. Using this with a Constructor
    32. Controlling Access to Members of a Class
    33. Understanding Instance and Class Members
    34. Class Variables
    35. Class Methods
    36. Constants
    37. The Bicycle Class
    38. Initializing Fields
    39. Static Initialization Blocks
    40. Initializing Instance Members
    41. Summary of Creating and Using Classes and Objects
    42. Questions and Exercises: Classes
    43. Questions and Exercises: Objects
  6. Nested Classes
    1. Why Use Nested Classes?
    2. Static Nested Classes
    3. Inner Classes
    4. Inner Class Example
    5. Local and Anonymous Inner Classes
    6. Modifiers
    7. Summary of Nested Classes
    8. Questions and Exercises: Nested Classes
  7. Enum Types
    1. Questions and Exercises: Enum Types
  8. Annotations
    1. Documentation
    2. Annotations Used by the Compiler
    3. Annotation Processing
    4. Questions and Exercises: Annotations
  9. Lesson: Interfaces and Inheritance
    1. Interfaces
    2. Interfaces in Java
    3. Interfaces as APIs
    4. Interfaces and Multiple Inheritance
    5. Defining an Interface
    6. The Interface Body
    7. Implementing an Interface
    8. A Sample Interface, Relatable
    9. Implementing the Relatable Interface

5.27.Returning a Value from a Method #

A method returns to the code that invoked it when it

  • completes all the statements in the method,
  • reaches a return statement, or
  • throws an exception (covered later),

whichever occurs first.

You declare a method’s return type in its method declaration. Within the body of the method, you use the return statement to return the value.

Any method declared void doesn’t return a value. It does not need to contain a return statement, but it may do so. In such a case, a return statement can be used to branch out of a control flow block and exit the method and is simply used like this:

 return;

If you try to return a value from a method that is declared void, you will get a compiler error.

Any method that is not declared void must contain a return statement with a corresponding return value, like this:

 return returnValue;

The data type of the return value must match the method’s declared return type; you can’t return an integer value from a method declared to return a boolean.

The getArea() method in the Rectangle Rectangle class that was discussed in the sections on objects returns an integer:

    // a method for computing the area of the rectangle    public int getArea() {        return width * height;    }

This method returns the integer that the expression width*height evaluates to.

The area method returns a primitive type. A method can also return a reference type. For example, in a program to manipulate Bicycle objects, we might have a method like this:

public Bicycle seeWhosFastest(Bicycle myBike, Bicycle yourBike, Environment env) {  Bicycle fastest;  // code to calculate which bike is faster, given  // each bike’s gear and cadence and given   // the environment (terrain and wind)  return fastest;}

Suggest Edit