Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.

Similar presentations


Presentation on theme: "Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and."— 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 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)

9

10 class Character (Package: java.lang)

11

12

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


Download ppt "Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and."

Similar presentations


Ads by Google