Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
12 views

Methods Java

The document discusses methods in Java, including: 1. Methods break problems into smaller pieces through divide and conquer and simplify programs through code reuse. 2. Methods can be void, performing a task without returning a value, or value-returning, performing a task and returning a value. 3. A method definition includes a header with the method name and parameters, and a body with the statements executed. Arguments are passed into parameters by value for primitive types and by reference for object types. 4. Methods are called by their name and arguments are passed in parentheses. Returned values can be assigned to variables or used directly. Documentation comments describe a method's purpose and parameters.

Uploaded by

runrawat2
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Methods Java

The document discusses methods in Java, including: 1. Methods break problems into smaller pieces through divide and conquer and simplify programs through code reuse. 2. Methods can be void, performing a task without returning a value, or value-returning, performing a task and returning a value. 3. A method definition includes a header with the method name and parameters, and a body with the statements executed. Arguments are passed into parameters by value for primitive types and by reference for object types. 4. Methods are called by their name and arguments are passed in parentheses. Returned values can be assigned to variables or used directly. Documentation comments describe a method's purpose and parameters.

Uploaded by

runrawat2
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

AGENDA: Methods

LEARNING OUTCOME/OBJECTIVE: 3.1 3.2 3.3


Why Write Methods?
• Methods are commonly used to break a
problem down into small manageable pieces.
This is called divide and conquer.
• Methods simplify programs. If a specific task
is performed in several places in the program, a
method can be written once to perform that
task, and then be executed anytime it is needed.
This is known as code reuse.

5-2
void Methods and Value-Returning
Methods
• A void method is one that simply performs a
task and then terminates.
System.out.println("Hi!");
• A value-returning method not only performs a
task, but also sends a value back to the code
that called it.
int number =
Integer.parseInt("700");

5-3
Defining a void Method
• To create a method, you must write a definition,
which consists of a header and a body.
• The method header, which appears at the
beginning of a method definition, lists several
important things about the method, including
the method’s name.
• The method body is a collection of statements
that are performed when the method is
executed.

5-4
Two Parts of Method Declaration
Header

public static void displayMesssage()


{
System.out.println("Hello");
}

Body

5-5
Parts of a Method Header
Method Return Method
Modifiers Type Name Parentheses

public static void displayMessage ()


{
System.out.println("Hello");
}

5-6
Parts of a Method Header
• Method modifiers
– public—method is publicly available to code outside
the class
– static—method belongs to a class, not a specific
object.
• Return type—void or the data type from a value-
returning method
• Method name—name that is descriptive of what
the method does
• Parentheses—contain nothing or a list of one or
more variable declarations if the method is capable
of receiving arguments.
5-7
Calling a Method
• A method executes when it is called.
• The main method is automatically called when a
program starts, but other methods are executed by
method call statements.
displayMessage();
• Notice that the method modifiers and the void
return type are not written in the method call
statement. Those are only written in the method
header.
• Examples: SimpleMethod.java, LoopCall.java,
CreditCard.java, DeepAndDeeper.java
5-8
Documenting Methods
• A method should always be documented by
writing comments that appear just before the
method’s definition.
• The comments should provide a brief
explanation of the method’s purpose.
• The documentation comments begin with /**
and end with */.

5-9
Passing Arguments to a Method
• Values that are sent into a method are called
arguments.
System.out.println("Hello");
number = Integer.parseInt(str);
• The data type of an argument in a method call must correspond
to the variable declaration in the parentheses of the method
declaration. The parameter is the variable that holds the value
being passed into a method.
• By using parameter variables in your method declarations, you
can design your own methods that accept data this way. See
example: PassArg.java

5-10
Passing 5 to the displayValue
Method
displayValue(5); The argument 5 is copied into the
parameter variable num.

public static void displayValue(int


num)
{
System.out.println("The value is " + num);
}
The method will display The value is 5

5-11
Argument and Parameter Data Type
Compatibility
• When you pass an argument to a method, be
sure that the argument’s data type is compatible
with the parameter variable’s data type.
• Java will automatically perform widening
conversions, but narrowing conversions will
cause a compiler error.
double d = 1.0;
displayValue(d); Error! Can’t convert
double to int
5-12
Passing Multiple Arguments
The argument 5 is copied into the num1 parameter.
The argument 10 is copied into the num2 parameter.

showSum(5, 10); NOTE: Order matters!

public static void showSum(double num1, double num2)


{
double sum; //to hold the sum
sum = num1 + num2;
System.out.println("The sum is " + sum);
}

5-13
Arguments are Passed by Value
• In Java, all arguments of the primitive data types are
passed by value, which means that only a copy of an
argument’s value is passed into a parameter variable.
• A method’s parameter variables are separate and
distinct from the arguments that are listed inside the
parentheses of a method call.
• If a parameter variable is changed inside a method, it
has no affect on the original argument.
• See example: PassByValue.java

5-14
Passing Object References to a Method
• Recall that a class type variable does not hold the
actual data item that is associated with it, but holds the
memory address of the object. A variable associated
with an object is called a reference variable.

• When an object such as a String is passed as an


argument, it is actually a reference to the object that is
passed.

5-15
Passing a Reference as an Argument
Both variables reference the same object
showLength(name);
“Warren”
address

The address of the object is address


copied into the str parameter.
public static void showLength(String str)
{
System.out.println(str + " is " +
str.length() + " characters
long.");
str = "Joe" // see next slide
}
5-16
@param Tag in Documentation
Comments
• You can provide a description of each parameter in
your documentation comments by using the @param
tag.
• General format
@param parameterName Description
• See example: TwoArgs2.java
• All @param tags in a method’s documentation
comment must appear after the general description.The
description can span several lines.

5-17
More About Local Variables
• A local variable is declared inside a method and is not
accessible to statements outside the method.
• Different methods can have local variables with the same
names because the methods cannot see each other’s local
variables.
• A method’s local variables exist only while the method is
executing. When the method ends, the local variables and
parameter variables are destroyed and any values stored are
lost.
• Local variables are not automatically initialized with a
default value and must be given a value before they can be
used.
• See example: LocalVars.java

5-18
Returning a Value from a Method
• Data can be passed into a method by way of
the parameter variables. Data may also be
returned from a method, back to the
statement that called it.
int num = Integer.parseInt("700");
• The string “700” is passed into the
parseInt method.
• The int value 700 is returned from the
method and assigned to the num variable.

5-19
Defining a Value-Returning Method
public static int sum(int num1, int num2)
{
int result; Return type
result = num1 + num2; The return statement
return result; causes the method to end
} execution and it returns a
value back to the
This expression must be of the statement that called the
same data type as the return type method.

5-20
Calling a Value-Returning Method
total = sum(value1, value2);
20 40
public static int sum(int num1, int num2)
{
60
int result;
result = num1 + num2;
return result;
}

5-21
@return Tag in Documentation
Comments
• You can provide a description of the return value in
your documentation comments by using the @return
tag.
• General format
@return Description
• See example: ValueReturn.java
• The @return tag in a method’s documentation
comment must appear after the general description.
The description can span several lines.

5-22
Returning a booleanValue
• Sometimes we need to write methods to test
arguments for validity and return true or false
public static boolean isValid(int number)
{
boolean status;
if(number >= 1 && number <= 100)
status = true;
else
status = false;
return status;
}

Calling code:
int value = 20;
If(isValid(value))
System.out.println("The value is within range");
else
System.out.println("The value is out of range");

5-23
Returning a Reference to a String
Object
customerName = fullName("John", "Martin");

public static String fullName(String first, String last)


{
String name;
address
name = first + " " + last;Local variable name holds
return name; the reference to the object.
} The return statement sends
a copy of the reference
“John Martin” back to the call statement
See example: and it is stored in
customerName.
ReturnString.java

5-24

You might also like