Lecture 6: Methods MIT-AITI Kenya 2005. © 2005 MIT-Africa Internet Technology Initiative In this lecture, you will learn… What a method is Why we use.

Slides:



Advertisements
Similar presentations
Methods Liang, Chapter 4. What is a method? A method is a way of running an ‘encapsulated’ series of commands. System.out.println(“ Whazzup ”); JOptionPane.showMessageDialog(null,
Advertisements

Chapter 4 Methods F Introducing Methods –Benefits of methods, Declaring Methods, and Calling Methods F Passing Parameters –Pass by Value F Overloading.
C Lecture Notes 1 Program Control (Cont...). C Lecture Notes 2 4.8The do / while Repetition Structure The do / while repetition structure –Similar to.
Chapter 6: User-Defined Functions I
Math class methods & User defined methods Introduction to Computers and Programming in JAVA: V
COMP 14 Introduction to Programming Miguel A. Otaduy May 25, 2004.
COMP 14 Introduction to Programming Mr. Joshua Stough February 28, 2005 Monday/Wednesday 11:00-12:15 Peabody Hall 218.
C++ Programming: From Problem Analysis to Program Design, Second Edition Chapter 6: User-Defined Functions I.
Copyright 2008 by Pearson Education 1 Building Java Programs Chapter 5 Lecture 5-1: while Loops, Fencepost Loops, and Sentinel Loops reading: 4.1, 5.1.
Introduction to Java Programming, 4E Y. Daniel Liang.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie July 8, 2005.
CS 201 Functions Debzani Deb.
Chapter 4 Methods F Introducing Methods –Benefits of methods, Declaring Methods, and Calling Methods F Passing Parameters –Pass by Value F Overloading.
1 Chapter 5 Methods. 2 Introducing Methods A method is a collection of statements that are grouped together to perform an operation.
Chapter 6: User-Defined Functions I
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved COS240 O-O Languages AUBG,
Introduction to C Programming
1 Topic 04 Methods Programming II/A CMC2522 / CIM2561 Bavy Li.
METHODS Introduction to Systems Programming - COMP 1005, 1405 Instructor : Behnam Hajian
Chapter 4 Methods F Introducing Methods –Benefits of methods, Declaring Methods, and Calling Methods F Passing Parameters –Pass by Value F Overloading.
Arrays Chapter 8. What if we need to store test scores for all students in our class. We could store each test score as a unique variable: int score1.
Functions, Procedures, and Abstraction Dr. José M. Reyes Álamo.
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 6 Using Methods.
Methods F Hello World! F Java program compilation F Introducing Methods F Declaring Methods F Calling Methods F Passing Parameters by value F Overloading.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 6 September 17, 2009.
USER-DEFINED FUNCTIONS. STANDARD (PREDEFINED) FUNCTIONS  In college algebra a function is defined as a rule or correspondence between values called the.
Functions Top-down design Breaking a complex problem into smaller parts that we can understand is a common practice. The process of subdividing a problem.
Java™ How to Program, 10/e © Copyright by Pearson Education, Inc. All Rights Reserved.
Procedural programming in Java Methods, parameters and return values.
Loops (cont.). Loop Statements  while statement  do statement  for statement while ( condition ) statement; do { statement list; } while ( condition.
Writing Static Methods Up until now, we have been USING (calling) static methods that other people have written. Now, we will start CREATING our own static.
Lecture 10:Static & Final Kenya © 2005 MIT-Africa Internet Technology Initiative MyMath Example public class MyMath { public double PI = ;
Methods. Methods also known as functions or procedures. Methods are a way of capturing a sequence of computational steps into a reusable unit. Methods.
Lab 01-2 Objectives:  Writing a Java program.  How to send output to the command line console.  Learn about escape sequences.  Learn how to compile,
Java methods Methods break down large problems into smaller ones Your program may call the same method many times saves writing and maintaining same code.
CSI 3125, Preliminaries, page 1 Compiling the Program.
CIS 234: Java Methods Dr. Ralph D. Westfall April, 2010.
1 Chapter 6 Methods. 2 Motivation Find the sum of integers from 1 to 10, from 20 to 30, and from 35 to 45, respectively.
User Defined Methods Methods are used to divide complicated programs into manageable pieces. There are predefined methods (methods that are already provided.
C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 6: User-Defined Functions I.
2.1 Functions. Functions in Mathematics f x y z f (x, y, z) Domain Range.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 5 Methods.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 6: User-Defined Functions I.
Chapter 5 Methods 1. Motivations Method : groups statements that perform a function.  Level of abstraction (black box)  Code Reuse – no need to reinvent.
 2007 Pearson Education, Inc. All rights reserved. A Simple C Program 1 /* ************************************************* *** Program: hello_world.
Methods.
CSIS 113A Lecture 5 Functions. Introduction to Functions  Building Blocks of Programs  Other terminology in other languages:  Procedures, subprograms,
COP 2220 Computer Science I Topics –Breaking Problems Down –Functions –User-defined Functions –Calling Functions –Variable Scope Lecture 4.
Programming Fundamentals Enumerations and Functions.
CSCI 51 Introduction to Programming Dr. Joshua Stough February 24, 2009.
CMSC 104, Section 301, Fall Lecture 18, 11/11/02 Functions, Part 1 of 3 Topics Using Predefined Functions Programmer-Defined Functions Using Input.
FUNCTIONS (C) KHAERONI, M.SI. OBJECTIVE After this topic, students will be able to understand basic concept of user defined function in C++ to declare.
Quiz 3 Topics Functions – using and writing. Lists: –operators used with lists. –keywords used with lists. –BIF’s used with lists. –list methods. Loops.
ITM 3521 ITM 352 Functions. ITM 3522 Functions  A function is a named block of code (i.e. within {}'s) that performs a specific set of statements  It.
Introduction to Modular Programming
COMP 170 – Introduction to Object Oriented Programming
Functions CIS 40 – Introduction to Programming in Python
CompSci 230 Software Construction
User-Defined Functions
Subroutines Idea: useful code can be saved and re-used, with different data values Example: Our function to find the largest element of an array might.
CSC 113 Tutorial QUIZ I.
Group Status Project Status.
CISC101 Reminders Assn 3 due tomorrow, 7pm.
Chapter 6 Methods.
Chapter 5 Methods.
Week 4 Lecture-2 Chapter 6 (Methods).
CISC101 Reminders Assignment 3 due today.
Corresponds with Chapter 5
Chapter 6: Methods CS1: Java Programming Colorado State University
Presentation transcript:

Lecture 6: Methods MIT-AITI Kenya 2005

© 2005 MIT-Africa Internet Technology Initiative In this lecture, you will learn… What a method is Why we use methods How to declare a method The four parts of a method How to invoke a method The purpose of the main method And see some example methods

© 2005 MIT-Africa Internet Technology Initiative The Concept of a Method Methods also known as functions or procedures. Methods are a way of capturing a sequence of computational steps into a reusable unit. Can you think of places where you might want to use methods?

© 2005 MIT-Africa Internet Technology Initiative The Concept of a Method Methods also known as functions or procedures. Methods are a way of capturing a sequence of computational steps into a reusable unit. Can you think of places where you might want to use methods? – evaluate the quadratic formula, print to the screen

© 2005 MIT-Africa Internet Technology Initiative method inputsoutputs The Concept of a Method (con’t) Methods can accept inputs in the form of arguments They can then perform some operations with the arguments And can return a value that is the result of the computations, which is also known as the output

© 2005 MIT-Africa Internet Technology Initiative Square Root Method Square Root Method Square root is a good example of a method. The square root method accepts a single number as an argument and returns the square root of that number.

© 2005 MIT-Africa Internet Technology Initiative Square Root Black Box 4+2,-2 Square Root Method (con’t) The computation of square roots involves many intermediate steps between input and output. When we use square root, we don’t care about these steps. All we need is to get the correct output. Hiding the internal workings of a method from a user but providing the correct answer is known as abstraction

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz What is the name given to the inputs of a method?

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz What is the name given to the inputs of a method? – Arguments

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz What is the name given to the inputs of a method? – Arguments Why do we use methods?

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz What is the name given to the inputs of a method? – Arguments Why do we use methods? – To capture a sequence of steps which can – later be reused

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz What is the name given to the inputs of a method? – Arguments Why do we use methods? – To capture a sequence of steps which can – later be reused What is the name given to hiding the internal workings of a method?

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz What is the name given to the inputs of a method? – Arguments Why do we use methods? – To capture a sequence of steps which can – later be reused What is the name given to hiding the internal workings of a method? – Abstraction

© 2005 MIT-Africa Internet Technology Initiative A method has 4 parts: the return type, the name, the arguments, and the body: double sqrt(double num) { // a set of operations that compute // the square root of a number } The type, name and arguments together is referred to as the signature of the method type namearguments body Declaring Methods

© 2005 MIT-Africa Internet Technology Initiative The Return Type of a Method The return type of a method may be any data type. The type of a method designates the data type of the output it produces. Methods can also return nothing in which case they are declared void.

© 2005 MIT-Africa Internet Technology Initiative Return Statements The return statement is used in a method to output the result of the methods computation. It has the form: – return expression_value; The type of the expression_value must be the same as the type of the method: double sqrt(double num) { double answer; // Compute the square root of num // and store in answer return answer; }

© 2005 MIT-Africa Internet Technology Initiative Return Statements (con’t) A method exits immediately after it executes the return statement Therefore, the return statement is usually the last statement in a method A method may have multiple return statements. Can you think of an example of such a case?

© 2005 MIT-Africa Internet Technology Initiative Multiple Returns An example using multiple returns: int absoluteValue (int num){ if (num < 0) return –num; else return num; }

© 2005 MIT-Africa Internet Technology Initiative void Methods A method of type void has a return statement without any specified value. i.e. return; This may seem useless, but in practice void is used often. A good example is when a methods only purpose is to print to the screen. If no return statement is used in a method of type void, it automatically returns at the end

© 2005 MIT-Africa Internet Technology Initiative Method Arguments Methods can take input in the form of arguments. Arguments are used as variables inside the method body. Like variables, arguments must have their type specified. Arguments are specified inside the paren- theses that follow the name of the method.

© 2005 MIT-Africa Internet Technology Initiative Here is an example of a method that divides two doubles: double divide(double a, double b) { double answer; answer = a / b; return answer; } Example Method

© 2005 MIT-Africa Internet Technology Initiative Method Arguments Multiple method arguments are separated by commas: double pow(double x, double y) Arguments may be of different types int indexOf(String str, int fromIndex)

© 2005 MIT-Africa Internet Technology Initiative The Method Body The body of a method is a block specified by curly brackets i.e { }. The body defines the actions of the method. The method arguments can be used anywhere inside of the body. All methods must have curly brackets to specify the body even if the body contains only one statement or no statements.

© 2005 MIT-Africa Internet Technology Initiative Invoking Methods To call a method, specify the name of the method followed by a list of comma separated arguments in parentheses: pow(2, 10); //Computes 2 10 If the method has no arguments, you still need to follow the method name with empty parentheses: size();

© 2005 MIT-Africa Internet Technology Initiative Static Methods Some methods have the keyword static before the return type: static double divide(double a, double b) { return a / b; } We'll learn what it means for a method to be static in a later lecture For now, all the methods we write in lab will be static.

© 2005 MIT-Africa Internet Technology Initiative main – A Special Method The only method that we have used in lab up until this point is the main method. The main method is where a Java program always starts when you run a class file The main method is static and has a strict signature which must be followed: public static void main(String[] args) {... }

© 2005 MIT-Africa Internet Technology Initiative main Method (con’t) class SayHi { public static void main(String[] args) { System.out.println("Hi, " + args[0]); } If you were to type java Program arg1 arg2 … argN on the command line, anything after the name of the class file is automatically entered into the args array: java SayHi Sonia In this example args[0] will contain the String "Sonia", and the output of the program will be "Hi, Sonia".

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz 2 What are the four parts of a method and what are their functions?

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz 2 What are the four parts of a method and what are their functions? Return type – data type returned by the method Name – name of the method Arguments – inputs to the method Body – sequence of instructions executed by the method

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz 2 (con’t) What is used to separate multiple arguments to a method?

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz 2 (con’t) What is used to separate multiple arguments to a method? Comma

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz 2 (con’t) What is used to separate multiple arguments to a method? Comma What is used to outline the body of a method?

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz 2 (con’t) What is used to separate multiple arguments to a method? Comma What is used to outline the body of a method? Curly brackets { }

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz 2 (con’t) What is used to separate multiple arguments to a method? Comma What is used to outline the body of a method? Curly brackets { } How do you invoke a method?

© 2005 MIT-Africa Internet Technology Initiative Methods Pop Quiz 2 (con’t) What is used to separate multiple arguments to a method? Comma What is used to outline the body of a method? Curly brackets { } How do you invoke a method? Specify the name of the method followed by a list of comma-separated arguments in parentheses, i.e. method_name(arg1, arg2, …, argn)

© 2005 MIT-Africa Internet Technology Initiative What is wrong with the following ? static double addSometimes(num1, num2){ double sum; if (num1 < num2){ sum = num1 + num2; String completed = “completed”; return completed; }

© 2005 MIT-Africa Internet Technology Initiative What is wrong with the following ? static double addSometimes(num1, num2){ double sum; if (num1 < num2){ sum = num1 + num2; String completed = “completed”; return completed; } Types for the arguments num1 and num2 are not specified String completed does not match the correct double return type Method addSometimes does not always return an answer. This will cause an error in Java because we specified that addSometimes would always return a double.

© 2005 MIT-Africa Internet Technology Initiative class Greetings { public static void main(String args[]) { String greeting = ""; for (int i=0; i < args.length; i++) { greeting += "Jambo " + args[i] + "! "; } System.out.println(greeting); } After compiling, if you type java Greetings Alice Bob Charlie prints out "Jambo Alice! Jambo Bob! Jambo Charlie!" Example main method

© 2005 MIT-Africa Internet Technology Initiative class Max { public static void main(String args[]) { if (args.length == 0) return; int max = Integer.parseInt(args[0]); for (int i=1; i < args.length; i++) { if (Integer.parseInt(args[i]) > max) { max = Integer.parseInt(args[i]); } System.out.println(max); } After compiling, if you type java Max the program will print out 9 Another Example

© 2005 MIT-Africa Internet Technology Initiative Important Points Covered.… Methods capture a piece of computation we wish to perform repeatedly into a single abstraction Methods in Java have 4 parts: return type, name, arguments, body. The return type and arguments may be either primitive data types (i.e. int) or complex data types (i.e. Objects), which we will cover next lecture main is a special Java method which the java interpreter looks for when you try to run a class file main has a strict signature that must be followed: public static void main(String args[])