Dale Roberts Procedural Programming using Java Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer and.

Slides:



Advertisements
Similar presentations
Java™ How to Program, 9/e Presented by: Dr. José M. Reyes Álamo © Copyright by Pearson Education, Inc. All Rights Reserved.
Advertisements

JavaScript Part for Repetition Statement for statement Cpecifies each of the items needed for counter-controlled repetition with a control variable.
(C) 2010 Pearson Education, Inc. All rights reserved. Java™ How to Program, 8/e.
 2006 Pearson Education, Inc. All rights reserved Functions.
Introduction to Computers and Programming Lecture 11: Introduction to Methods Professor: Evan Korth New York University.
Introduction to Computers and Programming Introduction to Methods in Java.
Math class methods & User defined methods Introduction to Computers and Programming in JAVA: V
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
 2006 Pearson Education, Inc. All rights reserved Functions and an Introduction to Recursion.
 2007 Pearson Education, Inc. All rights reserved C Functions.
 2006 Pearson Education, Inc. All rights reserved Functions.
INSTRUCTOR: SHIH-SHINH HUANG Windows Programming Using Java Chapter6: Methods: A Deeper Look.
FunctionsFunctions Systems Programming Concepts. Functions   Simple Function Example   Function Prototype and Declaration   Math Library Functions.
Dale Roberts Object Oriented Programming using Java - Class Constructors Dale Roberts, Lecturer Computer Science, IUPUI Department.
 2005 Pearson Education, Inc. All rights reserved Methods: A Deeper Look.
Methods Chapter 6. 2 Program Modules in Java What we call "functions" in C++ are called "methods" in Java Purpose Reuse code Modularize the program This.
METHODS Introduction to Systems Programming - COMP 1005, 1405 Instructor : Behnam Hajian
Dale Roberts Object Oriented Programming using Java - Packages Dale Roberts, Lecturer Computer Science, IUPUI Department.
Programming in Java Unit 2. Class and variable declaration A class is best thought of as a template from which objects are created. You can create many.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. C How To Program - 4th edition Deitels Class 05 University.
Chapter 06 (Part I) Functions and an Introduction to Recursion.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Functions.
1 Introduction Modules  Most computer programs solve much larger problem than the examples in last sessions.  The problem is more manageable and easy.
 2005 Pearson Education, Inc. All rights reserved. 1 Methods Called functions or procedures in other languages Modularize programs by separating its tasks.
Dale Roberts Object Oriented Programming using Java - Enumerations Dale Roberts, Lecturer Computer Science, IUPUI Department.
 2005 Pearson Education, Inc. All rights reserved Methods: A Deeper Look.
Java™ How to Program, 9/e © Copyright by Pearson Education, Inc. All Rights Reserved.
Android How to Program, 2/e © Copyright by Pearson Education, Inc. All Rights Reserved.
Part II © Copyright by Pearson Education, Inc. All Rights Reserved.
Methods in Java. Program Modules in Java  Java programs are written by combining new methods and classes with predefined methods in the Java Application.
4-Methods Dr. John P. Abraham Professor UTPA. Common ways of packaging code Properties Methods Classes Namespaces (related classes are grouped into a.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 122 – Data Structures Functions Review.
Java™ How to Program, 9/e Presented by: Dr. José M. Reyes Álamo CET 3640 © Copyright by Pearson Education, Inc. All Rights Reserved.
Summing Up Object Oriented Design. Four Major Components: Abstraction modeling real-life entities by essential information only Encapsulation clustering.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
 Pearson Education, Inc. All rights reserved Methods: A Deeper Look.
 Pearson Education, Inc. All rights reserved Methods: A Deeper Look.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Functions Outline 5.1Introduction 5.2Program Modules.
C++ Programming Lecture 9 Functions – Part I By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Methods: A Deeper Look. Template for Class Definition public class { } A.Import Statement B.Class Comments C.Class Name D.Data members E.Methods (inc.
Dale Roberts Object Oriented Programming using Java - Final and Static Keywords Dale Roberts, Lecturer Computer Science, IUPUI
Java™ How to Program, 9/e © Copyright by Pearson Education, Inc. All Rights Reserved.
Java™ How to Program, 9/e © Copyright by Pearson Education, Inc. All Rights Reserved.
Using Java MINISTRY OF EDUCATION & HIGHER EDUCATION COLLEGE OF SCIENCE AND TECHNOLOGY KHANYOUNIS- PALESTINE Lecture 15,16 Java’s Methods.
CSCI 3328 Object Oriented Programming in C# Chapter 6: Methods 1 Xiang Lian The University of Texas Rio Grande Valley Edinburg, TX 78539
 2005 Pearson Education, Inc. All rights reserved Methods: A Deeper Look.
Functions Math library functions Function definition Function invocation Argument passing Scope of an variable Programming 1 DCT 1033.
Methods Chapter 6. 2 Program Modules in Java What we call "functions" in C++ are called "___________________" in Java Purpose –Reuse code –Modularize.
 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 6 - Methods Outline 6.1 Introduction 6.2 Program Modules in Java 6.3 Math -Class Methods 6.4.
 Static  Example for Static Field  Example for Static Method  Math class methods  Casting  Scope of Declaration  Method Overloading  Constructor.
Introduction Modules Small pieces of a problem ▴ e.g., divide and conquer Facilitate design, implementation, operation and maintenance of large programs.
 Pearson Education, Inc. All rights reserved Methods: A Deeper Look.
Dale Roberts CSCI N305 Functions Declarations Department of Computer and Information Science, School of Science, IUPUI.
(C) 2010 Pearson Education, Inc. All rights reserved.  Best way to develop and maintain a large program is to construct it from small, simple pieces,
 Pearson Education, Inc. All rights reserved Methods: A Deeper Look.
 Pearson Education, Inc. All rights reserved Methods: A Deeper Look.
Functions and an Introduction to Recursion
Methods Chapter 6.
Programming Fundamentals Lecture #7 Functions
Chapter 6 Methods: A Deeper Look
Chapter 5 - Functions Outline 5.1 Introduction
Functions Declarations CSCI 230
Chapter 6 Methods: A Deeper Look
MSIS 655 Advanced Business Applications Programming
CSCI 3328 Object Oriented Programming in C# Chapter 6: Methods
6 Methods: A Deeper Look.
Chapter 5 Methods: A Deeper Look
Java Methods: A Deeper Look Academic 2019 Class: BIT23/BCS10 Chapter 06 Abdulaziz Yasin Nageye Faculty of Computing Java How to Program, 10/e 1 © Co py.
6 Functions.
Corresponds with Chapter 5
Presentation transcript:

Dale Roberts Procedural Programming using Java Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer and Information Science, School of Science, IUPUI

Dale Roberts Introduction Divide and conquer technique Construct a large program from smaller pieces (or modules) Can be accomplished using methods static methods can be called without the need for an object of the class Random number generation Constants

Dale Roberts Methods are Modules Methods Called functions or procedures in some other languages Modularize programs by separating its tasks into self- contained units Enable a divide-and-conquer approach Are reusable in later programs Prevent repeating code

Dale Roberts Methods That Come With Java Java Application Programming Interface (API) Also known as the Java Class Library Contains predefined methods and classes Related classes are organized into packages Includes methods for mathematics, string/character manipulations, input/output, databases, networking, file processing, error checking and more

Dale Roberts Accessing Java’s Documentation Familiarize yourself with the rich collection of classes and methods provided by the Java API ( java.sun.com/javase/6/docs/api/ ). Section 6.8 presents an overview of several common packages. In Appendix G explains how to navigate the Java API documentation.

Dale Roberts Invoking Methods static method (or class method) Applies to the class as a whole instead of a specific object of the class Call a static method by using the method call: ClassName. methodName ( arguments ) All methods of the Math class are static example: Math.sqrt( )

Dale Roberts Stepwise Decomposition

Dale Roberts java.lang Package Class Math is part of the java.lang package, which is implicitly imported by the compiler, so it is not necessary to import class Math to use its methods.

Dale Roberts Defining Constants Constants Keyword final Cannot be changed after initialization static fields (or class variables) Are fields where one copy of the variable is shared among all objects of the class Math.PI and Math.E are final static fields of the Math class

Dale Roberts Main Method Method main main is declared static so it can be invoked without creating an object of the class containing main Any class can contain a main method The JVM invokes the main method belonging to the class specified by the first command-line argument to the java command

Dale Roberts Math Methods

Dale Roberts 12 Declaring Methods with Multiple Parameters Multiple parameters can be declared by specifying a comma-separated list. Arguments passed in a method call must be consistent with the number, types and order of the parameters Sometimes called formal parameters

Dale Roberts 13Outline MaximumFinder.java (1 of 2) Call method maximum Display maximum value

Dale Roberts 14Outline Maximu mFinder.java (2 of 2) Declare the maximum method Compare y and maximumValue Compare z and maximumValue Return the maximum value

Dale Roberts 15Outline MaximumFinderTest.java Create a MaximumFinder object Call the determineMaximum method

Dale Roberts Built-in Methods with Parameters Reusing method Math.max The expression Math.max( x, Math.max( y, z ) ) determines the maximum of y and z, and then determines the maximum of x and that value String concatenation Using the + operator with two String s concatenates them into a new String Using the + operator with a String and a value of another data type concatenates the String with a String representation of the other value When the other value is an object, its toString method is called to generate its String representation

Dale Roberts Invoking Methods Three ways to call a method: Use a method name by itself to call another method of the same class Use a variable containing a reference to an object, followed by a dot (. ) and the method name to call a method of the referenced object Use the class name and a dot (. ) to call a static method of a class static methods cannot call non- static methods of the same class directly

Dale Roberts How Method Calls Are Implemented Stacks Last-in, first-out (LIFO) data structures Items are pushed (inserted) onto the top Items are popped (removed) from the top Program execution stack Also known as the method call stack Return addresses of calling methods are pushed onto this stack when they call other methods and popped off when control returns to them

Dale Roberts How Method Calls Are Implemented A method’s local variables are stored in a portion of this stack known as the method’s activation record or stack frame When the last variable referencing a certain object is popped off this stack, that object is no longer accessible by the program Will eventually be deleted from memory during “garbage collection” Stack overflow occurs when the stack cannot allocate enough space for a method’s activation record

Dale Roberts Argument Promotion (weak typing)

Dale Roberts Java Packages Including the declaration import java.util.Scanner; allows the programmer to use Scanner instead of java.util.Scanner Java API documentation java.sun.com/javase/6/docs/api/ Overview of packages in Java SE 6 java.sun.com/javase/6/docs/api/overview-summary.html

Dale Roberts 22 Fig. 6.6 | Java API packages (a subset). (Part 1 of 2)

Dale Roberts 23 Fig. 6.6 | Java API packages (a subset). (Part 2 of 2)

Dale Roberts Java Packages Including the declaration import java.util.Scanner; allows the programmer to use Scanner instead of java.util.Scanner Java API documentation java.sun.com/javase/6/docs/api/ Overview of packages in Java SE 6 java.sun.com/javase/6/docs/api/overview-summary.html

Dale Roberts Scope Rules Basic scope rules Scope of a parameter declaration is the body of the method in which appears Scope of a local-variable declaration is from the point of declaration to the end of that block Scope of a local-variable declaration in the initialization section of a for header is the rest of the for header and the body of the for statement Scope of a method or field of a class is the entire body of the class

Dale Roberts Shadowing Shadowing A field is shadowed (or hidden) if a local variable or parameter has the same name as the field This lasts until the local variable or parameter goes out of scope

Dale Roberts 27Outline Scope.j ava (1 of 2) Shadows field x Display value of local variable x

Dale Roberts 28Outline Scope.j ava (2 of 2) Shadows field x Display value of local variable x Display value of field x

Dale Roberts 29Outline ScopeTe st.java

Dale Roberts Method Overloading Method overloading Multiple methods with the same name, but different types, number or order of parameters in their parameter lists Compiler decides which method is being called by matching the method call’s argument list to one of the overloaded methods’ parameter lists A method’s name and number, type and order of its parameters form its signature Differences in return type are irrelevant in method overloading Overloaded methods can have different return types Methods with different return types but the same signature cause a compilation error

Dale Roberts 31Outline MethodO verload.ja va Correctly calls the “ square of int ” method Correctly calls the “ square of double ” method Declaring the “ square of int ” method Declaring the “ square of double ” method

Dale Roberts 32Outline MethodOverl oadTest.java

Dale Roberts 33Outline Method Overloa d Error.jav a Same method signature Compilation error

Dale Roberts Acknowledgements Deitel, Java How to Program