comp 110 - Joshua Stough

Download Report

Transcript comp 110 - Joshua Stough

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.
Review
System.out.println ("I said, \"Hi There!\"");
I said "Hi There!"
System.out.println ("Hi\b\bHello");
Hello
System.out.println ("Hello\rWorld");
Hello
World
System.out.println ("Hello\tWorld");
Hello
World
System.out.print ("Hello\n");
System.out.println ("World");
Hello
World
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
Review
import statements if any
public class ClassName
{
declare named constants and/or stream objects
public static void main (String[] args)
throws IOException
{
variable declarations
executable statements
}
}
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-line
comment */
– “comments out” everything between /* and */
Review Questions
What is stored in num?
int num = (int) Math.round (12.7);
13
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);
Enter a number: 10
100
Assignment Operators
• Just for convenience
count
count
count
count
+=
-=
*=
/=
5;
5;
5;
5;
//
//
//
//
count
count
count
count
=
=
=
=
count
count
count
count
+
*
/
5;
5;
5;
5;
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);
Questions
• What is stored in total and count in the
following statements?
int total = 10, count = 5;
total += count++;
total
15
count
6
int total = 20, count = 3;
total /= --count;
total
10
count
2
String str = "COMP";
str += 110;
str
COMP110
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
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
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
Primitive Variables
int x = 45;
• When the computer sees x, it knows which
memory location to look up the value in
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
Creating Objects
• We use the new operator to create objects,
called instantiation
parameter
Integer num;
num = new Integer(78);
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.
Changing the Reference Var
num = new Integer (50);
• The address of the newly-created object is
stored in the already-created reference
variable num
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"
Using Objects
• System.out object
– represents a destination to which we can
send output
• Example:
– println method
System.out.println (”Hello World!”);
object
method
dot operator
information provided to
the method
(parameters)
Questions
1.
True or False. A primitive variable is a variable that stores
the address of a memory space.
False
new is used to create a class object.
2.
The operator
3.
In Java, the dot (.) 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.
True
The class String
• String variables are reference variables
• Given String name;
– Equivalent Statements:
name = new String("Lisa Simpson");
name = "Lisa Simpson";
name = "Lisa Simpson";
Lisa Simpson
Lisa Simpson
Lisa Simpson
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
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
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
String Examples
String str = "Go Panthers!";
System.out.println (str.length());
12
System.out.println (str.charAt(3));
P
System.out.println (str.indexOf('!'); 11
System.out.println (str.toLowerCase());
go panthers!
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
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)
Summary
• assignment operators (+=, /=, ...)
• primitive variables vs. reference
variables
• objects
• dot (.) operator
• String class
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