+ All Categories
Home > Documents > 11 Methods

11 Methods

Date post: 02-Jan-2016
Category:
Upload: isabella-walsh
View: 50 times
Download: 1 times
Share this document with a friend
Description:
11 Methods. CE00858-1: Fundamental Programming Techniques. November 14. 1. Objectives. In this session, we will: introduce methods and look at the main() method implement methods and call them pass values into methods return values from methods. November 14. 2. Methods. - PowerPoint PPT Presentation
27
11 Methods 1 19 Mar 2022 1 19 Mar 2022 11 Methods CE00858-1: Fundamental Programming Techniques
Transcript

11 Methods 120 Apr 2023 120 Apr 2023

11 Methods

CE00858-1: Fundamental Programming Techniques

11 Methods 220 Apr 2023 220 Apr 2023

Objectives

In this session, we will:• introduce methods and look at the main() method• implement methods and call them• pass values into methods• return values from methods

11 Methods 320 Apr 2023

Methods

• named block of code that can be invoked one or more times in an application• performs a well defined task• has no side effects• is easily understood

• advantages:• can focus on what a block of code does, not how• can call method as many times as needed• reduces length of code• simplifies testing

11 Methods 420 Apr 2023

Methods in Java

• method header:• returnType:

• type of data that is returned by method• void if method doesn’t return anything

• methodName • parameters enclosed by brackets:

• information needed by method • brackets must be included even if no parameters needed

• method body:• enclosed by braces• 1 or more statements to be executed

returnType methodName (parameters) {

statements;}

method header

method body

11 Methods 520 Apr 2023

main() method

• all Java applications must have a main method• automatically invoked when program run• can include calls to other methods

public class MyClass{

public static void main (String [] args) { //method body

//calls to other methods}

}

11 Methods 620 Apr 2023

Structure of a class

public class MyClass{

public static void main (String [] args) { //method body for main

} public static void myMethod1 () {

//method body for myMethod1 } public static void myMethod2() {

//method body for myMethod2 }}

• class may have many methods

Method implementation

• if a program is to be implemented using methods, need to:• select meaningful name for method• consider values needed by method to perform its

task• consider values returned by method• analyse operations performed inside method body

11 Methods 720 Apr 2023

11 Methods 820 Apr 2023

Method example – greet()

• problem:• a method is required to output a greeting to the user

on two separate lines

• method:• method name: greet• method parameters: none• method returns: nothing• analysis for method body: 2 output statements to

greet userpublic static void greet (){ System.out.println("Hello and welcome"); System.out.println("How are you?");}

11 Methods 920 Apr 2023

Calling methods example – GreetUser

• once a method has been written it can be called as many times as required by specifying its name and any parameters required

public class GreetUser{

public static void main (String [] args){

greet (); greet ();

}

public static void greet (){ System.out.println("Hello and welcome");

System.out.println("How are you?");}

}

11 Methods 1020 Apr 2023

greet() method with parameters

• problem:• the greet() method is to be modified so that a name

is passed as a parameter to be output

• method:• method name: greet• method parameters: name – String to be output• method returns: nothing• analysis for method body: 2 output statements to

greet userpublic static void greet (String name){ System.out.println("Hello " + name + " and welcome"); System.out.println("How are you?");}

parameter

11 Methods 1120 Apr 2023

Calling methods with parameters

• if the method has parameters, these must be given a value when the method is called

import java.util.*;public class GreetUser{

public static void main (String [] args){

Scanner kybd = new Scanner(System.in);String myName = kybd.next();

greet (myName);String yourName = kybd.next();

greet (yourName);}

public static void greet (String name){

System.out.println("Hello " + name + " and welcome"); System.out.println("How are you?");

}}

value for parametervalue for parameter

11 Methods 1220 Apr 2023

Call by value

• when a value is passed into a method, a copy of it is taken and used within the method

• after the method finishes, changes to the value are not kept

11 Methods

public class Swap{

public static void main (String [] args){

int x = 3;int y = 4;System.out.println("x is: " + x + ", y is: " + y);swap(x, y);System.out.println("x is: " + x + ", y is: " + y);

}public static void swap (int a, int b){

int temp = a;a = b;b = temp;

}}

20 Apr 2023 13

Swap.java

what is output?

11 Methods 1420 Apr 2023

greet() method with return value

• problem:• the greet() method is to be modified so that a name

is read inside the method, the greeting is output and the name is returned to the calling program

• method:• method name: greet• method parameters: none• method returns: String name• analysis for method body:

• create Scanner• prompt user for name• input name • 2 output statements to greet user• return name

11 Methods 1520 Apr 2023

public static String greet (){

Scanner kybd = new Scanner(System.in);System.out.print("Enter name: ");

String name = kybd.next();

System.out.println("Hello " + name + " and welcome"); System.out.println("How are you?");

return name;}

return type

return statement

11 Methods 1620 Apr 2023

Calling methods with return values

• if the method returns a value the calling program should do something with that value:• output it• store it• use it in a comparison

11 Methods 1720 Apr 2023

import java.util.*;public class GreetUser{

public static void main (String [] args){

String aName = greet ();if (aName.equals("Elizabeth")){

System.out.println("Are you the queen?");}

}

public static String greet (){

Scanner kybd = new Scanner(System.in);System.out.print("Enter name: ");

String name = kybd.next();

System.out.println("Hello " + name + " and welcome");

System.out.println("How are you?");

return name;}

}

GreetUser.java

11 Methods 1820 Apr 2023

Analysis and methods

• when faced with a specification the designer does not consider how the solution will be implemented

• the use of methods is an implementation decision which should be taken after analysis

11 Methods 1920 Apr 2023

Method example – Underline

• analysis:• output a row of 10 *• output a row of 15 @

• implementation• as same actions will be done, but with different values, this

is a candidate for implementation using methods and parameters

• method name: underline()• method parameters:

• ch – character to be output• times – integer number of times character is to be output

• method doesn't return a value

• problem:• a program is required to output a row of 10 stars,

followed by a row of 15 @ symbols

11 Methods 2020 Apr 2023

underline() method analysis

• analysis for method body:• what data is used?

• ch: character, passed as parameter• times: integer, passed as parameter

• what operations are performed?• iteration needed as ch is output several times

• what operations are done once before the loop?• none

• how many times is loop repeated?• times = 1 to times

• what operations are done inside the loop?• output ch

• what operations are done after the loop?• output new line

11 Methods 2120 Apr 2023

//passing parameters to methodspublic class Underline{

public static void main (String [] args){ underline('*', 10); underline('@', 15);}

public static void underline (char ch, int times){ for (int i = 0; i < times; i++) {

System.out.print(ch); } System.out.println();

}}

Underline.java

11 Methods 2220 Apr 2023

Method example – Largest4

• analysis• what data is used?

• num1, num2, num3 and num4: integers input by user• what operations are performed?

• determine larger of num1 and num2• determine larger of num3 and num4• determine larger of two previous results• output largest number

• problem:• output the largest of 4 numbers input by the user

11 Methods 2320 Apr 2023

larger() method analysis

• implementation• as same actions will be done, but with different

values, this is a candidate for implementation using methods and return values

• method name: larger()• method parameters:

• a, b – integers to compare• method returns:

• larger integer

11 Methods 2420 Apr 2023

larger() method analysis cont.

• method body analysis• what data is used?

• a: integer passed as parameter• b: integer passed as parameter

• what operations are performed?• selection needed as a larger dealt with differently to b

larger• what operations are done before the selection?

• none• what operations are done if a larger?

• store a• what operations are done if b larger?

• store• what operations are done after the selection?

• return larger

11 Methods 2520 Apr 2023

//program to show return valuesimport java.util.*;public class Largest4{

public static void main (String [] args){

//input data Scanner kybd = new Scanner(System.in);System.out.print("Enter 4 numbers: ");int num1 = kybd.nextInt();int num2 = kybd.nextInt();int num3 = kybd.nextInt();int num4 = kybd.nextInt();

//determine larger of num1 and num2//determine larger of num3 and num4//determine larger of two previous results//output largestSystem.out.println("Largest is: " + larger(larger(num1, num2), larger(num3,

num4)));}

20 Apr 2023 25

Largest4.java

11 Methods 2620 Apr 2023

public static int larger(int a, int b){

int largerNum;if (a > b){

largerNum = a;}else{ largerNum = b;}

return largerNum;}

}

20 Apr 2023 26

11 Methods 2720 Apr 2023 2720 Apr 2023

Summary

In this session we have:• looked at implementing methods in Java• seen how methods are called from within the main()

method• passed parameters into methods • returned results from methods

In the next session we will:• look at making methods even more flexible


Recommended