1 CS1110 Thursday, 10 Feb 2011 Discussion of Methods: Executing method calls. If-statements. The return statement in a function. Local variables. For this.

Slides:



Advertisements
Similar presentations
Core Java Lecture 4-5. What We Will Cover Today What Are Methods Scope and Life Time of Variables Command Line Arguments Use of static keyword in Java.
Advertisements

CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall
CIT 590 Intro to Programming Java lecture 4. Agenda Types Collections – Arrays, ArrayLists, HashMaps Variable scoping Access modifiers – public, private,
1 CS100J 1 February Customizing a class & testing Quote for the day: There is no reason anyone would want a computer in their home. - -Ken Olson,
©2004 Brooks/Cole Chapter 6 Methods. Figures ©2004 Brooks/Cole CS 119: Intro to JavaFall 2005 Using Methods We've already seen examples of using methods.
Access to Names Namespaces, Scopes, Access privileges.
1 Review of classes and subclasses M fast through this material, since by now all have seen it in CS100 or the Java bootcamp First packages Then classes.
CS 1110 Prelim I: Review Session. Exam Info Prelim 1: 7:30–9:00PM, Thursday, 6 October, Statler Auditorium Look at the previous Prelims Arrive early!
1 What’s a class People are confused with nested classes and anonymous classes. Experiments in a recitation last week revealed that the problems were probably.
1 Executing Method Calls This lecture tells you precisely how method calls are executed (a few details will have to wait until we get to classes and objects).
Wednesday, 10/9/02, Slide #1 CS 106 Intro to CS 1 Wednesday, 10/9/02  QUESTIONS ??  Today:  Discuss HW #02  Discuss test question types  Review 
CS 1110 Prelim I: Review Session. Introduction My name: Bruno Abrahao – We have four TA’s in the room to help you individually Shuang Zhao Nam Nguyen.
CS 201 Functions Debzani Deb.
Lecture 11. Today’s topic Conditional statement –Relational operators –if statement –if-else statement –If-elseif statement.
CS 117 Spring 2002 Review for Exam 2 March 6, 2002 open book, 1 page of notes.
28-Jun-15 Access to Names Namespaces, Scopes, Access privileges.
1 CS100J 05 February 2005 Today’s topic: Customizing a class (continued) Quiz 1 is today Quiz 2 is next Tuesday Quote for the day: There is no reason anyone.
Lecture Review (If-else Statement) if-else statement has the following syntax: if ( condition ) { statement1; } else { statement2; } The condition.
CS/ENGRD 2110 FALL 2013 Lecture 5: Local vars; Inside-out rule; constructors 1.
CS1110 lecture 5 14 Sept 2010 Testing; the class Object; toString; static variables & methods Reading for this lecture: Testing with JUnit (Appendix I.2.4.
Chapter 06 (Part I) Functions and an Introduction to Recursion.
CS 112 Department of Computer Science George Mason University CS 112 Department of Computer Science George Mason University Final Review Lecture 14.
ECE122 Feb. 22, Any question on Vehicle sample code?
Java development environment and Review of Java. Eclipse TM Intergrated Development Environment (IDE) Running Eclipse: Warning: Never check the “Use this.
CS 100Lecture 131 Announcements Exam stats P3 due on Thursday.
CSC1401 Classes - 2. Learning Goals Computing concepts Adding a method To show the pictures in the slide show Creating accessors and modifiers That protect.
CS1110 lecture 5 8 Feb 2010 Testing; class Object; toString; static variables/methods Reading for this lecture: Testing with JUnit (Appendix I.2.4 & pp.
1 CS1110 lecture 4 9 Sept. Customizing a class & testing Classes: fields; getter & setter methods. Secs (p. 45) & 3.1 (pp. 105–110 only) Constructors.
Lecture 101 CS110 Lecture 10 Thursday, February Announcements –hw4 due tonight –Exam next Tuesday (sample posted) Agenda –questions –what’s on.
SE-1010 Dr. Mark L. Hornick 1 Java Programming Basics.
Introduction to Methods. Previously discussed There are similarities in make up of that can help you remember the construct of a class a class in the.
Chapter 5 Classes and Methods II Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E.
CS100A, Fall 1998 Key Concepts 1 These notes contain short definitions of the basic entities that make up a Java program, along with a description of the.
Principled approach to teaching OO first David Gries Computer Science, Cornell 1.
1 CS100J 08 September 2005 Today’s topic: Customizing a class (continued) Quote for the day: There is no reason anyone would want a computer in their home.
CIT 590 Intro to Programming Lecture 13. Some Eclipse shortcuts CTRL + SHIFT + F – format file (proper indentation etc). Please do this before you submit.
1 CS September 2008 Discussion of Methods: Executing method calls.If-statements. The return statement in a function. Local variables. For this and.
Chapter 5 : Methods Part 2. Returning a Value from a Method  Data can be passed into a method by way of the parameter variables. Data may also be returned.
1 For more info: CS February 2009 In 1968, the Defense Department hired Bolt Beranek and Newman (BBN) of Boston.
1 CS February 2009 Inside-out rule; use of this and super Developing methods (using String ops). Read sec. 2.5 on stepwise refinement Listen to.
CS100Lecture 61 Announcements Homework P1 due on Thursday Homework P2 handed out.
1 CS Sept Customizing a class & testing Quote for the day: There is no reason anyone would want a computer in their home. - -Ken Olson, founder.
1. Understanding the execution of local variable declaration (in a method body) new expression ( 3 steps ) method call (method frames, call stack) examples.
CS/ENGRD 2110 Spring 2018 Lecture 5: Local vars; Inside-out rule; constructors
CS/ENGRD 2110 Spring 2017 Lecture 5: Local vars; Inside-out rule; constructors
Class Structure 16-Nov-18.
CS 1110 Final Exam: Review Session 1 Drawing frames for calls, executing method calls Biggest issue!!! You can’t do questions on this topic correctly.
6 Chapter Functions.
CSCI 3328 Object Oriented Programming in C# Chapter 4: C# Control Statement – Part I – Exercises UTPA – Fall 2012 This set of slides is revised from lecture.
CS/ENGRD 2110 Fall 2017 Lecture 5: Local vars; Inside-out rule; constructors
CS/ENGRD 2110 Spring 2016 Lecture 5: Local vars; Inside-out rule; constructors
Sit next to someone. Today, we do some work in pairs.
Class Structure 7-Dec-18.
The University of Texas – Pan American
Class Structure 2-Jan-19.
CS/ENGRD 2110 Fall 2018 Lecture 5: Local vars; Inside-out rule; constructors
CS139 October 11, 2004.
CS2011 Introduction to Programming I Methods (II)
Sit next to someone. Today, we do some work in pairs.
CS 1110 Final Exam: Review Session 1 Drawing frames for calls, executing method calls Biggest issue!!! You can’t do questions on this topic correctly.
Recap Week 2 and 3.
Namespaces, Scopes, Access privileges
Chapter 6 – Methods Topics are:
Class Structure 25-Feb-19.
CS360 Client/Server Programming Using Java
CS/ENGRD 2110 Spring 2019 Lecture 5: Local vars; Inside-out rule; constructors
CS 1110 Prelim I: Review Session Spring 2011
Review for Midterm 3.
Corresponds with Chapter 5
Previous Lecture: Today’s Lecture: Reading (JV):
Presentation transcript:

1 CS1110 Thursday, 10 Feb 2011 Discussion of Methods: Executing method calls. If-statements. The return statement in a function. Local variables. For this and next lecture: Read chapter 2, but NOT 2.3.8!!!! Do the self-review exercises in Congratulations!! You now know the basics of OO (object-orientation). Sit next to someone. Today, we do some work in pairs. Get out a blank sheet of paper. Take advantage: see videos of the 11:15 lecture for CS1110 on Log in with your Cornell netid The last slide concerns local variables –variables declared within a method body. We don’t have time to discuss them. You are responsible for knowing about local variables. Read pp (sec ).

2 /** An instance keeps information about a book chapter */ public class Chapter { // class invariant: meanings of fields and constraints on them private int number; // the chapter number, in range private String title; // chapter title private Chapter prev; // instance for the previous chapter // (null if no previous chapter) … } … a0 Chapter numb 2 title “objects” prev a5 … Chapter numb 1 title “intro” prev null c a0

3 /** Constructor: a chapter with title t, number n, and previous chapter null.*/ public Chapter(String t, int n) { title= t; number= n; previous= null; } Within the body (between { }) is the sequence of statements to execute when the method is called. (“Follow the recipe”.) But how is a method call executed? How do parameters and arguments work? parameters: t and n We write programs in order to do things. Methods are the key “doers”. declaration of parameter t Memorize: a parameter is a variable that is declared within the parentheses of a method header.

4 The frame (the box) for a method call Remember: Every method is in a folder (object) or in a file-drawer. method name: instruction counterscope box local variables (don’t deal with these now) parameters scope box contains the name of entity that contains the method —a file drawer or object. number of the statement of method body to execute next. Start with 1. Helps you keep track of what statement to execute next. Draw the parameters as variables. The scope box contains: For an instance method, the name of the object in which it resides For a static method, the name of the class in which it is defined Draw template on a piece of paper

5 a0 Account amt setAmt(int newAmt) {amt= newAmt;} getAmt() {…} 15 To execute the call x.setAmt(50); x a0 Account 1. Draw a frame for the call. 2. Assign the value of the argument to the parameter (in the frame). 3. Execute the method body. (Look for variables in the frame; if not there, look in the place given by the scope box.) 4. Erase the frame for the call. public void setAmt(int newAmt) { amt= newAmt; }

6 a1 Account amt setAmt(int newAmt) {…} getAmt() {return amt;} 25 To execute the call cash= y.getAmt(); y a1 Account 1. Draw frame for call. 2. Assign value of argument to parameters (in the frame). 3. Execute method body. (Look for variables in the frame; if not there, look in the place given by the scope box.) 4. Erase the frame for call; use value of return- statement expression as function-call value. cash int a1 public int getAmt() { return amt; }

7 new Chapter(“Intro”, 1) a1 Chapter Chapter(String t, int n) { … } a8 null title null previous 0 number Note local variable d declared within method body. It should be drawn in frame for call. 1. Draw a frame for the call. 2. Assign arg values to pars. 3. Execute the method body. 4. Erase the frame for the call. Chapter(String t, int n) { String d; 1: d= t; 2: title= d; 3: number= n; 4: previous= null; }

8 /* Put smaller of x, y in z */ if (x < y) { z= x; } else { z= y; } if statement /* swap x, y to put larger in y */ if (x > y) { int t; t= x; x= y; y= t; } Syntax: if ( ) Execution: if the is true, then execute the if-else statement Syntax: if ( ) else Execution: if the boolean expression is true, then execute ; otherwise, execute

9 Idiom: if statements and multiple return staements /** = smallest of b, c, d */ public static int smallest(int b, int, c, int d) { } Execution of statement return ; terminates execution of the procedure body and yields the value of as result of function call Execution of function body must end by executing a return statement. return d; if (b <= c && b <= d) { return b; } Assertion // { The smallest is either c or d } if (c <= d) { return c; } // { the smallest is d }

10 Syntax of procedure/function/constructor and calls public ( ) { … } public void ( ) { … } public ( ) { … } function procedure constructor ( ) ( ) ; new ( ) function call procedure call constructor call Exec. of a function body must terminate by executing a statement “return ;”, where the has the. Exec. of a proc body may terminate by executing statement “return ;” Exec. of a constructor body initializes fields of a new object in order to make the class invariant true. :,, …,

11 Scope of local variable is the places where it can be used. The scope is the sequence of statements following it within the containing “block”. /** = the max of x and y */ public static int max(int x, int y) { // Swap x and y to put the max in x if (x < y) { int temp; temp= x; x= y; y= temp; } return x; } scope of temp You can’t use temp down here This is an error.