CSE 1201 Object Oriented Programming: Using Classes and Objects
CSE 1201 Object Oriented Programming: Using Classes and Objects
Acknowledgement
Creating Objects
Creating Objects
Invoking Methods
References
num1
name1
38
"Steve Jobs"
Assignment Revisited
num1
38
num2
96
num2 = num1;
After:
num1
38
num2
38
Reference Assignment
Before:
name1
"Steve Jobs"
name2
"Steve Wozniak"
name2 = name1;
After:
name1
name2
"Steve Jobs"
Aliases
Garbage Collection
String Methods
String Indexes
Example
String phrase = new String ("Change is inevitable");
String mutation1, mutation2, mutation3, mutation4;
System.out.println ("Original string: \"" + phrase + "\"");
System.out.println ("Length of string: " + phrase.length());
mutation1 = phrase.concat (", except from vending machines.");
mutation2 = mutation1.toUpperCase();
mutation3 = mutation2.replace ('E', 'X');
mutation4 = mutation3.substring (3, 30);
// Print each mutated string
System.out.println ("Mutation #1: " + mutation1);
System.out.println ("Mutation #2: " + mutation2);
System.out.println ("Mutation #3: " + mutation3);
System.out.println ("Mutation #4: " + mutation4);
System.out.println ("Mutated length: " + mutation4.length());
Class Libraries
Its classes are not part of the Java language per se, but we
rely on them heavily
Packages
Purpose
java.lang
General support
java.applet
Creating applets for the web
java.awt Graphics and graphical user interfaces
javax.swing
Additional graphics capabilities
java.net
Network communication
java.util
Utilities
javax.xml.parsers
XML document processing
Or you can import the class, and then use just the class name
import java.util.Scanner;
int num1;
float num2;
num1 = generator.nextInt();
System.out.println ("A random integer: " + num1);
num1 = generator.nextInt(10);
System.out.println ("From 0 to 9: " + num1);
num1 = generator.nextInt(15) + 20;
System.out.println ("From 20 to 34: " + num1);
num1 = generator.nextInt(20) - 10;
System.out.println ("From -10 to 9: " + num1);
num2 = generator.nextFloat();
System.out.println ("A random float [between 0-1]: " + num2);
num2 = generator.nextFloat() * 6; // 0.0 to 5.999999
num1 = (int) num2 + 1;
System.out.println ("From 1 to 6: " + num1);
Interactive Programs
Reading Input
Reading Input
The nextLine method reads all of the input until the end
of the line is found
Echo.java
import java.util.Scanner;
public class Echo {
// Reads a character string from the user and prints it.
public static void main (String[] args) {
String message;
Scanner scan = new Scanner (System.in);
System.out.println ("Enter a line of text:");
message = scan.nextLine();
System.out.println ("You entered: \"" + message + "\"");
}
}
Input Tokens
These include:
absolute value
square root
exponentiation
trigonometric functions
int a, b, c; // ax^2 + bx + c
double discriminant, root1, root2;
Scanner scan = new Scanner (System.in);
System.out.print ("Enter the coefficient of x squared: ");
a = scan.nextInt();
System.out.print ("Enter the coefficient of x: ");
b = scan.nextInt();
System.out.print ("Enter the constant: ");
c = scan.nextInt();
discriminant = Math.pow(b, 2) - (4 * a * c);
root1 = ((-1 * b) + Math.sqrt(discriminant)) / (2 * a);
root2 = ((-1 * b) - Math.sqrt(discriminant)) / (2 * a);