Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 7 User-Defined Methods.

Similar presentations


Presentation on theme: "Chapter 7 User-Defined Methods."— Presentation transcript:

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 Predefined Classes Methods already written and provided by Java
Organized as a collection of classes (class libraries) To use: import package Method type: data type of value returned by method

5 class Math (Package: java.lang)

6 class Math (Package: java.lang)

7 class Character (Package: java.lang)

8 class Character (Package: java.lang)

9 class Character (Package: java.lang)

10 Syntax: Value-Returning Method
modifier(s) returnType methodName(formal parameter list) { statements }

11 User-Defined Methods Value-returning methods
Used in expressions Calculate and return a value Can save value for later calculation or print value Modifiers: public, private, protected, static, abstract, final returnType: type of value that the method calculates and returns (using return statement) methodName: Java identifier; name of method

12 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)

13 Syntax Syntax: Actual Parameter List
The syntax of the actual parameter list is: expression or variable, expression or variable, ... Syntax: return Statement The return statement has the following syntax: return expr;

14 Equivalent Method Definitions
public static double larger(double x, double y) { double max; if(x >= y) max = x; else max = y; return max; }

15 Equivalent Method Definitions
public static double larger(double x, double y) { if(x >= y) return x; else return y; }

16 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

17 Solution: isPalindrome Method

18 Sample Runs: Palindrome Number

19 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

20 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

21 Solution: Largest Number

22 Sample Run: Largest Number
Sample Run: (When you execute this program, enter all numbers in the same line.) Enter 10 numbers in the same line. The largest number is 88.55

23 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

24 Void Methods: Syntax Method Definition
The general form (syntax) of a void method without parameters is as follows: modifier(s) void methodName() { statements } Method Call (Within the Class) The method call has the following syntax: methodName();

25 Void Methods with Parameters: Syntax
Method Definition The definition of a void method with parameters has the following syntax: modifier(s) void methodName(formal parameter list) { statements } Formal Parameter List The formal parameter list has the following syntax: dataType variable, dataType variable, ...

26 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, ...

27 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

28 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

29 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

30 Reference Variables as Parameters: type String

31 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

32 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

33 Scope Rules: Demonstrated

34 Scope Rules: Demonstrated
public class ScopeRules { static final double rate = 10.50; static int z; static double t; public static void main(String[] args) int num; double x, z; char ch; //... } public static void one(int x, char y)

35 public static int w; public static void two(int one, int z) { char ch;
int a; //block three int x = 12; //... }//end block three }

36 Scope Rules: Demonstrated

37 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

38 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

39 Programming Example: Data Comparison

40 Chapter Summary Predefined methods User-defined methods
Value-returning methods Void methods Formal parameters Actual parameters Flow of Execution

41 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


Download ppt "Chapter 7 User-Defined Methods."

Similar presentations


Ads by Google