Download presentation
Presentation is loading. Please wait.
Published byQuinn Osswald Modified over 9 years ago
1
Chapter 7 User-Defined Methods
2
Chapter Objectives Understand how methods are used in Java programming Learn about standard (predefined) methods and discover how to use them in a program Learn about user-defined methods Examine value-returning methods, including actual and formal parameters
3
Chapter Objectives Explore how to construct and use a value- returning, user-defined method in a program Learn how to construct and use user-defined void methods in a program Explore variables as parameters Learn about the scope of an identifier Become aware of method overloading
4
Advantages of using methods Methods are the building blocks or modules of classes and of systems built from many classes Predefined methods are supplied within Java User defined methods originate from developers Allows the developer to write, debug, and integrate one module at a time in a larger system Allows many developers to simultaneously develop different components of a larger system Improves readability and ease of maintenance of the system
5
Methods The concept of a method is similar to the mathematical concept of a function A function has A result or a value A series of arguments Functional form A method either Evaluates to a result (value) of a particular type Modifies or manipulates its arguments (e.g. prints)
6
Syntax: Value-Returning Method modifier(s) returnType methodName(formal parameter list) { statements } modifier(s) void methodName(formal parameter list) { statements } Syntax: Void Method
7
Predefined Classes and Methods Methods already written and provided by Java Organized as a collection of classes (class libraries) To use: import package or class Classname.methodname(argument list)
8
class Math (Package: java.lang)
10
class Character (Package: java.lang)
13
Value-Returning Method modifier(s) returnType methodName(formal parameter list) { statements; return expr; } The definition of the method has two components The body of the method, the statements between {}, the code required to implement the method and return the value The heading of the method, the line defining modifiers, returnType, methodName and formal parameters or arguments
14
User-Defined Methods Value-returning methods Used in expressions Calculate and return a value Can be used in the expression in an assignment statement to save value for later use Modifiers: public, private, protected, static, abstract, final returnType: type of value that the method calculates and returns (using return statement) Type of expression formed by call of method methodName: Java identifier; name of method
15
Syntax Syntax: Formal Parameter List The syntax of the formal parameter list is: dataType identifier, dataType identifier,... Method Call The syntax to call a value-returning method is: methodName(actual parameter list) Syntax: Actual Parameter List The syntax of the actual parameter list is: expression or variable, expression or variable,...
16
Equivalent Method Definitions public static double larger(double x, double y) { double max; if(x >= y) max = x; else max = y; return max; }
17
Equivalent Method Definitions public static double larger(double x, double y) { if(x >= y) if(x >= y) return x; return x; else else return y; return y;}
18
Programming Example: Palindrome Number Palindrome: integer or string that reads the same forwards and backwards Input: integer or string Output: Boolean message indicating whether integer string is a palindrome
19
Solution: isPalindrome Method
20
Flow of Execution Execution always begins with the first statement in the method main User-defined methods execute only when called Call to method transfers control from caller to called method In method call statement, specify only actual parameters, not data type or method type Control goes back to caller when method exits
21
Programming Example: Largest Number Input: Set of 10 numbers Output: Largest of 10 numbers Solution: Get numbers one at a time Method largest number: returns the larger of 2 numbers For loop: calls method largest number on each number received and compares to current largest number
22
Void Methods Similar in structure to value-returning methods No method type Call to method is always stand-alone statement Can use return statement to exit method early Return statement does not return the value of an expression
23
Void Methods with no parameters: Syntax Method Definition modifier(s) void methodName( formal parameter list) { statements } Method Call (Within the Class) methodName();
24
Void Methods with Parameters: Syntax Method Definition Definition of a void method with parameters modifier(s) void methodName(formal parameter list) { statements statements} Formal Parameter List The formal parameter list has the following syntax: dataType variable, dataType variable,...
25
Void Methods with Parameters: Syntax Method Call The method call has the following syntax: methodName(actual parameter list); Actual Parameter List The actual parameter list has the following syntax: expression or variable, expression or variable,...
26
Primitive Data Type Variables as Parameters A formal parameter receives a copy of its corresponding actual parameter If a formal parameter is a variable of a primitive data type Value of actual parameter is directly stored Cannot pass information outside the method Provides only a one-way link between actual parameters and formal parameters
27
Reference Variables as Parameters If a formal parameter is a reference variable Copies value of corresponding actual parameter Value of actual parameter is address of object where actual data is stored Both formal and actual parameter refer to same object
28
Uses of Reference Variables as Parameters Can return more than one value from a method Can change the value of the actual object When passing address, would save memory space and time, relative to copying large amount of data
29
Reference Variables as Parameters: type String
30
Scope of an Identifier Within a Class Scope (of an identifier): refers to those parts of a program where the identifier is accessible Local variables: variables declared within a method (or block) Within a class Any method can call any other method Exception: static method cannot call a nonstatic method
31
Scope Rules Identifier declared within a block is accessible Only within the block from the point at which it is declared until the end of the block By those blocks nested within that block if the nested block does not have an identifier with the same name as the identifier in the outside block *Outside block: block that encloses nested block *Outside block: block that encloses nested block
32
Scope Rules: Demonstrated public class ScopeRules { static final double rate = 10.50; static final double rate = 10.50; static int z; static int z; static double t; static double t; public static void main(String[] args) public static void main(String[] args) { int num; int num; double x, z; double x, z; char ch; char ch; //... //... } public static void one(int x, char y) public static void one(int x, char y) { //... //... } public static int w; public static int w; public static void two(int one, int z) public static void two(int one, int z) { char ch; char ch; int a; int a; //block three //block three { int x = 12; int x = 12; //... //... }//end block three }//end block three //... //... }
33
Scope Rules: Demonstrated
34
Method Overloading: An Introduction Method overloading: more than one method can have the same name Overloading Rules Every method must have a different number of formal parameters OR If the number of formal parameters is the same, then the data type of the formal parameter (in the order listed), must differ in at least one position Types of parameters determine which method executes
35
Programming Example: Data Comparison Input: Data from 2 different files Data format: Course Number followed by scores Output: Course Number, Group Number, Course Average Solution: Read from more than one file, write output to file Generate bar graphs User-defined methods and re-use (calculateAverage and printResult) Parameter passing
36
Chapter Summary Predefined methods User-defined methods Value-returning methods Void methods Formal parameters Actual parameters Flow of Execution
37
Chapter Summary Primitive data type variables as parameters One-way link between actual parameters and formal parameters (limitations caused) Reference variables as parameters Can pass one or more variables from a method Can change value of actual parameter Scope of an identifier within a class Method overloading
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.