Methods 2 - Actual arguments (parameters)

Purpose of this lesson:

Terms: actual argument, argument, actual parameter, parameter

The values that are passed to a method are called actual arguments in the Java specification. However, it is very common for them to be called just arguments, actual parameters, or just plain parameters. These terms are so used interchangeably so often that even the Java specification isn't entirely consistent. For a value which is passed in a call I'll try to stick to actual argument or just argument, which are generally regarded as the "best" terms.

Identifying method arguments

When you call a method, you can pass information for it to use. These actual arguments are inside parentheses following the method name. Use commas to separate arguments if there is more than one. The previous program is shown below, but this time the arguments in the calls are highlighted.

  1 
  2 
  3 
  4 
  5 
  6 
  7 
  8 
  9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
// File   : methods/KmToMilesArgs.java
// Purpose: Convert kilometers to miles. Use JOptionPane for input / output.
// Author : Fred Swartz
// Date   : 22 Apr 2006

import javax.swing.*;

public class KmToMilesArgs {
    //============================================================ constants
    private static final double MILES_PER_KILOMETER = 0.621;    

    //================================================================= main
    public static void main(String[] args) {
        //... Local variables
        String kmStr;    // String km before conversion to double.
        double km;       // Number of kilometers.
        double mi;       // Number of miles.

        //... Input
        kmStr = JOptionPane.showInputDialog(null, "Enter kilometers.");
        km = Double.parseDouble(kmStr);

        //... Computation
        mi = km * MILES_PER_KILOMETER;

        //... Output
        JOptionPane.showMessageDialog(null, km + " kilometers is "
                                          + mi + " miles.");
    }
}

Argument evaluation

Before a method is called, the arguments are evaluated left-to-right. In the example above most arguments are simple values, except the second argument in the call to showMessageDialog. Before the call can be made, this argument expression must be evaluated by performing the conversions to string and the concatenations.

Void and value-returning methods

A method may return a value. In the example above, showInputDialog returns a String and parseDouble returns a double value. These method calls can be used anywhere in an expression where a String or double value is required. Here they simply provide the value for the right side of an assignment.

void. If a method has a "side effect", but doesn't produce a value, it is called a void method. The showMessageDialog method shows something to the user, but doesn't return a value, and is a void method.

When a method is defined, you need to specify the keyword void if it doesn't return a value. You can see this on line 13 where the main method definition starts.

Review Questions

[TODO]