Methods - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Methods

Description:

public void stop() Called when applet should stop (when browser leaves the HTML page) Performs tasks to suspend applet's execution. public void destroy ... – PowerPoint PPT presentation

Number of Views:13
Avg rating:3.0/5.0
Slides: 23
Provided by: steve1791
Category:

less

Transcript and Presenter's Notes

Title: Methods


1
Methods
  • Chapter 6

2
Program Modules in Java
  • What we call "functions" in C are called
    "___________________" in Java
  • Purpose
  • Reuse code
  • Modularize the program
  • This can be done by putting the code in a method
  • Various objects in a program can invoke the same
    method

3
Predefined Methods
  • The Math class
  • These methods are called by
  • The __________ of the class
  • The dot . operator
  • The name of the _____________
  • Exampledouble x Math.sqrt(900.0)

4
Method Declaration Syntax
  • modifiers returnType methodName
    (parameterDeclaration)
  • statements
  • modifiers describers (____________________,
    etc.)
  • returnType type of value returned by method, or
    __________ if it does not return a value
  • methodName identifier that names the method
  • parameterDeclaration list of parameters,
    separated by ______________________
  • statements define the behavior of the method

5
Argument Promotion
  • Coercion of arguments
  • Forcing arguments to appropriate type to pass to
    method System.out.println( Math.sqrt( 4 ) )
  • Evaluates Math.sqrt( 4 )
  • Then evaluates System.out.println()

6
Argument Promotion
  • Promotion rules
  • Specify how to ______________ types without data
    loss

7
Method Definitions
  • Consider a method to square a number public int
    square( int y )
  • return y y // return square of y
  • // end method square
  • We will place it in an ____________SquareIntegers
    .java

8
Method Definitions
  • Consider a method to find the maximum of three
    numbers in an adapted version of Figure 6.4
  • Note
  • It is an _____________
  • The maximum function must be __________
  • ____________ not needed

9
Java API Packages
  • Predefined classes grouped into categories of
    related classes
  • Called ________________
  • Called the Java Application Programming Interface
    (API)
  • Note the often used API packages

10
Random-Number Generation
  • Consider the random method in the Math class
  • Generates a random double 0 lt n lt 1.0
  • The number can be manipulated and ____________ as
    an int to get desired range
  • For the roll of a die1 (int) (Math.random()
    6)
  • Note Figure 6.7 and Figure 6.8

11
Game of Chance
  • Rules for "Craps"
  • Roll dice first time
  • If sum equals 7 or 11, the player wins
  • If sum equals 2, 3 or 12, the player loses
  • Any other sum (4, 5, 6, 8, 9, 10) is that
    players point
  • Keep rolling dice until
  • Sum matches player point
  • Player wins
  • Sum equals 7
  • Player loses

12
Game of Chance
  • Note the adapted version of Figure 6.9
  • An application
  • Note
  • ___________ class variables
  • Public ____________
  • The toUpperClass function requires Character. (a
    _________________ class)

13
Scope of Declarations
  • Scope of a parameter is body of __________ where
    declaration appears
  • Scope of local variable is from point of
    declaration to ______________
  • Scope of label in labeled break/continue is
    statement enclosed by labeled statement
  • Scope of local-variable in initialization of for(
    ) is for ___________ of for and rest of header
  • Scope of method or field of class is body of class

14
Methods of Class JApplet
  • public void init()
  • Called once by ____________ container when applet
    loaded
  • Initializes fields, creates GUI components, load
    sounds, images
  • public void start()
  • Called ________________ init
  • Completes execution
  • Called again if browser _______________ to this
    page

15
Methods of Class JApplet
  • public void paint (Graphics g)
  • Called after init finishes and start has started
  • Called each time applet needs to be
    ______________
  • Typical actions include drawing with Graphics
    object g passed to the method
  • public void stop()
  • Called when applet should stop (when browser
    leaves the HTML page)
  • Performs tasks to suspend applet's execution
  • public void destroy()
  • Called when applet is being removed from memory
  • Destroys resources allocated to the applet

16
Method Overloading
  • Multiple methods with same name can be declared
    in same class
  • Methods must have different signatures
  • Different numbers, types, order of parameters
  • Example
  • Figure 6.12
  • Multiple square methods

17
Recursion
  • Recursive method
  • Calls itself (directly or indirectly) through
    another method
  • Method knows how to solve only a base case
  • Method divides problem
  • Base case
  • Simpler problem Method now divides simpler
    problem until solvable
  • Recursive call
  • Recursive step

18
Recursive Evaluation of 5!
Final value 120

5! 5 24 120 is returned
2! 2 1 2 is returned
5 4!
5 4!
4! 4 6 24 is returned
4 3!
4 3!
3! 3 2 6 is returned
3 2!
3 2!
2 1!
2 1!
1 returned
(b) Values returned from each recursive call.
(a) Sequence of recursive calls.
19
Recursive Factorial Program
  • Function factorial() in Figure 6.15
  • Note
  • Initial call to factorial()
  • Anchor or base case
  • Recursive call

20
Recursive Fibonacci Program
  • Consider function from program   public long
    fibonacci( long n )         // base case     
    if ( n 0 n 1 )           return
    n      // recursive step      else        
    return fibonacci( n - 1 ) fibonacci( n - 2
    )     // end method fibonacci
  • Note why this would be extremely inefficient

21
Recursive Fibonacci Program
fibonacci( 3 )
return

fibonacci( 2 )
fibonacci( 1 )
return

return 1
fibonacci( 1 )
fibonacci( 0 )
return 0
return 1
22
Recursion vs. Iteration
  • Both the recursive functions shown can be done
    with either for or while loops
  • In fact they are done more efficiently
    iteratively
  • Recursion has overhead
  • Processor time
  • Memory space
  • General rule If it can be done either
    recursively or iteratively choose iteratively
Write a Comment
User Comments (0)
About PowerShow.com