Top Banner
COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007
31

COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

COMP 110Introduction to Programming

Mr. Joshua StoughSeptember 10, 2007

Page 2: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Announcements

• Tutoring Tuesdays 6-9 Dey Hall 2nd floor

• Feedback on programs, options:– Paper copies due in class.

Page 3: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Review

System.out.println ("I said, \"Hi There!\"");I said "Hi There!"

System.out.print ("Hello\n");System.out.println ("World");HelloWorld

System.out.println ("Hello\rWorld");HelloWorld

System.out.println ("Hi\b\bHello");Hello

System.out.println ("Hello\tWorld");Hello World

Page 4: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Review• In the Java programming language:

– a program is made up of one or more classes– a class contains one or more methods– a method contains program statements

• A Java application always contains a method called main

• Source code saved in a file with the extension .java

• File must have the same name as the class with the main method

• Use the dot (.) operator to call methods:Math.round

Page 5: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Reviewimport statements if any

public class ClassName{

declare named constants and/or stream objects

public static void main (String[] args) throws IOException

{variable declarationsexecutable statements

}}

Page 6: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Review• Output

System.out.print (stringExp);System.out.println (stringExp);– print vs. println

• Comments// this is a one-line comment– “comments out” the rest of the line after ///* this is a multi-linecomment */– “comments out” everything between /* and */

Page 7: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Review Questions

What is stored in num?int num = (int) Math.round (12.7);

What is printed to the screen? Assume the user enters 10 and that keyboard is already defined.System.out.print ("Enter a number: ");int num = Integer.parseInt

(keyboard.readLine());System.out.println (num * num);

13

Enter a number: 10100

Page 8: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Assignment Operators

• Just for convenience

count += 5; // count = count + 5;

count -= 5; // count = count - 5;

count *= 5; // count = count * 5;

count /= 5; // count = count / 5;

Page 9: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Assignment Operators• The right hand side of an assignment operator

can be a complex expression

• The entire right-hand expression is evaluated first, then the result is combined with the original variable

• Therefore

result /= (total-MIN) % num;

is equivalent to

result = result / ((total-MIN) % num);

Page 10: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Questions

• What is stored in total and count in the following statements?

int total = 10, count = 5;total += count++;

int total = 20, count = 3;total /= --count;

String str = "COMP";str += 110;

total count15 6

total count10 2

strCOMP110

Page 11: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Java Variables

• Primitive Variables– primitive data types (int, double, ...)– stores the data in the memory

location

• Reference Variables– stores an address in the memory

location– "points to" another memory location

Page 12: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Objects

• More complex data type than a primitive data type

• Stored in the "other" memory location– is "pointed to" by a reference variable

• Is operated on by special operators called methods

Page 13: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Objects and Classes

• An object's data type is a class• The class contains the data types

that make up the object and what methods can operate on the object

• Examples:– String– Integer– Double

Page 14: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Primitive Variables

int x = 45;

• When the computer sees x, it knows which memory location to look up the value in

Page 15: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Reference Variables

Integer num;

• When the computer sees num, it knows which memory location to look for the address in

• It will read the address in num and look up a value in that memory location

Page 16: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Creating Objects

• We use the new operator to create objects, called instantiation Integer num;num = new Integer(78);

parameter

Page 17: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Review the Terms

• We declare a reference variable of a class type.

• We use the new operator to instantiate an object of that class type.

• We store the address of that object in the reference variable.

Page 18: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Changing the Reference Var

num = new Integer (50);• The address of the newly-created object

is stored in the already-created reference variable num

Page 19: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Garbage Collection

• What happened to the memory space that held the value 78?

• If no other reference variable points to that object, Java will "throw it away"

Page 20: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

System.out.println (”Hello World!”);

objectmethod

information provided to the method

(parameters)

Using Objects

• System.out object – represents a destination to which we

can send output

• Example:– println method

dot operator

Page 21: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Questions1. True or False. A primitive variable is a variable that

stores the address of a memory space.

2. The operator is used to create a class object.

3. In Java, the operator is used to access members of a class. It separates the class (or object) name from the method name.

4. True or False. Class objects are instances of that class.

new

dot (.)

False

True

Page 22: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

The class String

• String variables are reference variables

• Given String name; – Equivalent Statements:

name = new String("Lisa Simpson");name = "Lisa Simpson";

Page 23: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

name = "Lisa Simpson";

Lisa Simpson

Lisa Simpson

Lisa Simpson

Page 24: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

The class String

• The String object is an instance of class string

• The value “Lisa Simpson” is instantiated• The address of the value is stored in

name• The new operator is unnecessary when

instantiating Java strings• String methods are called using the dot

operator

Page 25: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Common String Methods• String(String str)

– constructor– creates and initializes the object

• char charAt(int index)– returns char at the position specified by index

(starts at 0)

• int indexOf(char ch)– returns the index of the first occurrence of ch

• int compareTo(String str)– returns negative if this string is less than str– returns 0 if this string is the same as str– returns positive if this string is greater than str

Page 26: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Common String Methods• boolean equals(String str)

– returns true if this string equals str

• int length()– returns the length of the string

• String replace(char toBeReplaced, char replacedWith)

– returns the string in which every occurrence of toBeReplaced is replaced with replacedWith

• String toLowerCase()– returns the string that is the the same as this string,

but all lower case

• String toUpperCase()– returns the string that is the same as this string, but

all upper case

Page 27: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

String Examples

String str = "Go Panthers!";

System.out.println (str.length());

System.out.println (str.charAt(3));

System.out.println (str.indexOf('!');

System.out.println (str.toLowerCase());

P

12

11

go panthers!

Page 28: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Example Program

• MathStats.java

• Ask the user for 3 integers.• Output the following:

– the 3 numbers– the sum– the average– the sum squared– the square root of the sum

Page 29: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Force Errors

Try the following in MathStats.java to see what error message is displayed:– comment out import statement– comment out throws clause– make sumSquare an int– don't initialize sum– don't cast average to double

(semantic error)

Page 30: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Summary

• assignment operators (+=, /=, ...)• primitive variables vs. reference

variables• objects• dot (.) operator• String class

Page 31: COMP 110 Introduction to Programming Mr. Joshua Stough September 10, 2007.

Next Time in COMP 110

Reading Assignment:Chapter 3 (pgs. 113-140)

• Using dialog boxes for I/O• Tokenizing Strings• Formatting output• Reading from and writing to text

files