Chapter 3 Spring 2006 CS 101 Aaron Bloomfield

Slides:



Advertisements
Similar presentations
Today’s lecture Review of Chapter 1 Go over homework exercises for chapter 1.
Advertisements

University of British Columbia CPSC 111, Intro to Computation Jan-Apr 2006 Tamara Munzner Objects, Methods, Parameters, Input Lecture 5, Thu Jan
03 Data types1June Data types CE : Fundamental Programming Techniques.
Introduction to Computers and Programming Strings Professor: Evan Korth New York University.
Strings as objects Strings are objects. Each String is an instance of the class String They can be constructed thus: String s = new String("Hi mom!");
Using Objects CS 101-E Aaron Bloomfield. Announcements Midterm 1 is a week from this Wednesday Midterm 1 is a week from this Wednesday TESTS ARE IN CHM.
1 The First Step Learning objectives write Java programs that display text on the screen. distinguish between the eight built-in scalar types of Java;
1 Using Objects Chapter 3 Fall 2005 CS 101 Aaron Bloomfield.
MSc IT Programming Methodology (2). MODULE TEAM Dr Aaron Kans Dr Sin Wee Lee.
Week 2 - Friday.  What did we talk about last time?  Data representation  Binary numbers  Types  int  boolean  double  char  String.
Characters The data type char represents a single character in Java. –Character values are written as a symbol: ‘a’, ‘)’, ‘%’, ‘A’, etc. –A char value.
Objects and Classes; Strings. 2 Classes and objects class: A program entity that represents either 1.A program / module, or 2.A type of objects* –A class.
ArrayList, Multidimensional Arrays
1 Using Objects Chapter 2 (part 2 of 2) Spring 2007 CS 101 Aaron Bloomfield.
Week 2 - Wednesday.  What did we talk about last time?  Data representation  Binary numbers  Types  int  boolean  double  char  String.
CS107 References and Arrays By Chris Pable Spring 2009.
Using Data Within a Program Chapter 2.  Classes  Methods  Statements  Modifiers  Identifiers.
Can we talk?. In Hello World we already saw how to do Standard Output. You simply use the command line System.out.println(“text”); There are different.
A Simple Java Program //This program prints Welcome to Java! public class Welcome { public static void main(String[] args) public static void main(String[]
1 Using Objects Chapter 3 Fall 2006 CS 101 Aaron Bloomfield.
1 Even even more on being classy Aaron Bloomfield CS 101-E Chapter 4+
Lecture 7: Whiles - Indefinite Loops Input and while loops Katie Coons CS 305J February 2, 2007.
CSC1401 Strings (text). Learning Goals Working with Strings as a data type (a class) Input and output of Strings String operations.
String and Scanner CS 21a: Introduction to Computing I First Semester,
VARIABLES Programmes work by manipulating data placed in memory. The data can be numbers, text, objects, pointers to other memory areas, and more besides.
Objects. Getting classy Your current job –Gain experience creating and manipulating objects from the standard Java types Why –Prepares you for defining.
Vladimir Misic: Characters and Strings1Tuesday, 9:39 AM Characters and Strings.
Chapter 2 Input, Variables and Data Types. JAVA Input JAVA input is not straightforward and is different depending on the JAVA environment that you are.
Department of Computer Engineering Using Objects Computer Programming for International Engineers.
1 Using Objects Chapter 3 Spring 2006 CS 101 Aaron Bloomfield.
Arrays-. An array is a way to hold more than one value at a time. It's like a list of items.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. CSC 110 – INTRO TO COMPUTING - PROGRAMMING String and Scanner Objects.
1 Review for exam 1 CS 101 Aaron Bloomfield. 2 Today’s lecture An overview of the “review” sections of chapters 1-3 Stop me if you want me to go over.
Java Scanner Class Keyboard Class. User Interaction So far when we created a program there was no human interaction Our programs just simply showed one.
Review for exam 1 CS 101 Aaron Bloomfield. 2 Today’s lecture An overview of the “review” sections of chapters 1- 3 and 5 Stop me if you want me to go.
COMP Review of Chapter 1 & 2
Functions + Overloading + Scope
Chapter 3 Spring 2005 CS 101 Aaron Bloomfield
Chapter 2 Clarifications
Objects.
Elementary Programming
Lecture 10: More on Methods and Scope
Java Arrays. Array Object An array :a container object holds a fixed number of values of a single type. The length of an array is established when the.
Methods and Parameters
An Introduction to Java – Part I, language basics
Introduction to Classes and Methods
Building Java Programs
Building Java Programs
Review for Exam 1 Spring 2007 CS 101/CS 101-E.
CS 200 Primitives and Expressions
Building Java Programs Chapter 2
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
CS2011 Introduction to Programming I Strings
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Peer Instruction 4 Control Loops.
Building Java Programs Chapter 2
Announcements & Review
CS Week 2 Jim Williams, PhD.
Objects.
Building Java Programs
Building Java Programs
What is a String? String s = "compsci"; s c o m p s i
More on iterations using
Presentation transcript:

Chapter 3 Spring 2006 CS 101 Aaron Bloomfield Using Objects Chapter 3 Spring 2006 CS 101 Aaron Bloomfield

Variables vs. Types The type is the recipe or template for how to create a variable Examples: int, double, char, boolean, etc. There are only 8 primitive types There are only a few things you can do with a type: Declare a variable int x; Use it as a cast x = (int) 3.5; There is only one of each type The variable is the actual instance of a type in memory It’s a spot in memory where you store a value You choose the name: width, x, thatThemThereValue, etc. You can have as may variables as you want – but only one type! Like the difference between a recipe and a bunch of cookies

Values versus objects Numbers Have values but they do not have behaviors Objects Have attributes and behaviors Java treats object variables differently. Although an object variable is the symbolic name for a memory location being used by the program, the memory location for an object variable does not store a value of that object type. Instead the value in the memory location tells the program where to find a value (object) of that type. We say that an object variable references or points to an object of the object type. Thus, a String variable references a memory location that holds a value of type String. Similarly, a BufferedReader variable references a memory location holding a BufferedReader value.

Classes vs. Objects A class is a user-defined “thing” Examples: String, Scanner, Rectangle, etc. We’ll start defining our own classes later this semester Classes are more complex than the primitive types A class is analogous to a type It’s just more complex and user-defined There can be only one class of each name An object is an instance of a class There is only one String class, but you can have 100 String objects An object is analogous to a variable It just is a reference instead A class is a “template” used for creating objects

Using objects First, we create an object: Scanner stdin = new Scanner (System.in); Most object creation lines look like this Then we use the object stdin.nextInt(); stdin.nextDouble(); Note that we could have called the object foo, bar, or anything stdin is just what we chose to call it

Using Rectangle objects Let’s create some Rectangle objects Rectangle creation: Rectangle r = new Rectangle (10, 20); Objects have attributes (or properties): System.out.println (r.length); System.out.println (r.width); Objects have behaviors (or methods): r.grow (10, 20) r.isEmpty() r.setLocation (5,4)

Using String objects Let’s create some String objects String creation: String s = new String (“Hello world”); Objects have attributes (or properties): But we can’t access them… Objects have behaviors (or methods): s.substring(0,6) s.indexOf (“world”) s.toLowerCase()

The lowdown on objects Objects are “things” that have properties (attributes) and behaviors (methods) We first create one or more objects We then manipulate their properties and call their methods

So why bother with objects? Let’s say you want to do a lot of String manipulation Once you create a String object, all the manipulation methods are contained therein Sun already wrote the methods for us So we can use String objects instead of writing our own code to get the substring, indexOf, etc.

Visualizing objects Class (type) name Attributes (properties) Methods (behaviors) + grow (int, int) : void + isEmpty ( ) : void + setLocation ( int, int ) : void + resize ( int, int ) : void + ... Rectangle - width = 10 - height = 20 - ...

How well do we understand using objects?

Review Variables of primitive types int, double, char, boolean, etc. Can assign a value to it Can read a value from it Can’t do much else! Objects String, Rectangle, etc. Have many parts Rectangle has width, length, etc. Like a complex type Have methods String has length(), substring(), etc.

String methods length(): returns the String’s length (duh!) String s = “hello world”; String t = “goodbye”; System.out.println (s.length()); System.out.println (t.length()); Prints 11 and 7 Note that calling s.length() is different than calling t.length()! Both return the length But of different Strings

More String methods Consider String weddingDate = "August 21, 1976"; String month = weddingDate.substring(0, 6); System.out.println("Month is " + month + "."); What is the output? Month is August.

More String methods Consider String fruit = "banana"; String searchString = "an"; int n1 = fruit.indexOf(searchString, 0); int n2 = fruit.indexOf(searchString, n1 + 1); int n3 = fruit.indexOf(searchString, n2 + 1); System.out.println("First search: " + n1); System.out.println("Second search: " + n2); System.out.println("Third search: " + n3); What is the output? First search: 1 Second search: 3 Third search: -1

These images are not animated…

Program WordLength.java public class WordLength { public static void main(String[] args) { Scanner stdin = new Scanner(System.in); System.out.print("Enter a word: "); String word = stdin.next(); int wordLength = word.length(); System.out.println("Word " + word + " has length " + wordLength + "."); }

More String methods trim() Returns the String without leading and trailing whitespace Whitespace is a space, tab, or return

Reading Javadocs What is a Javadoc? Documentation of Java classes Where are Sun’s Javadocs? http://java.sun.com/j2se/1.5.0/docs/api/index.html