240 likes | 316 Views
Announcements. Final Exam :TBD. public static void main(String [] args) { final int ASIZE = 5; int [] intArray= new int[ASIZE]; for(int i = 0; i < ASIZE; i++) intArray[i] = i; System.out.println( intArray[0]); changeZero(intArray); System.out.println( intArray[0]); }
E N D
Announcements • Final Exam:TBD
public static void main(String [] args) { final int ASIZE = 5; int [] intArray= new int[ASIZE]; for(int i = 0; i < ASIZE; i++) intArray[i] = i; System.out.println( intArray[0]); changeZero(intArray); System.out.println( intArray[0]); } static void changeZero(int [] passedArray) { passedArray[0] = 1000; }
Initializing Arrays char [] cArray3 = {'a', 'b', 'c'}; int [] iArray = {1, 2, 3, 4}; double [] dArray = {3.4, 5.67e4};
Two Dimensional Arrays char [][] cArray = new char[10][20]; int [][] iArray = new int[100][50]; cArray[0][0] = ‘a’; cArray[0][1] = ‘b’; cArray[9][19] = ‘x’; iArray[0][0] = 99; iArray[1][5] = 135; iArray[99][49] = 0;
Math Class • Contains Typical Math Methods • In Package java.lang (i.e., automatically imported) • Access using Math.math_thing • Math.PI; Math.E (log e = 1) • double pow (double base, double exp) • double sqrt(double number) • int round(double number) • int abs( int number) • min(number1,number2) and max(number1, number2) • double random(); //random number between 0.0 and 1.0
Tokenizing/Parsing • Taking Apart a String and Separating It into Smaller Strings (i.e., “tokens”) • Usually, Tokens are Items Separated by Whitespace • Tokens Can Be Defined with Different Separators • Parsing Takes Tokens and Applies Some Manipulation of Those Tokens
StringTokenizer Class import java.util.*; … String bigString = “This is a sentence.”; StringTokenizer st = new StringTokenizer(bigString); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } // Displays This, is, a, and sentence. one // per line
Classes • A Class Is an Object Type • A Class Represents a “Thing” (e.g., employee, wrench, list, store, shopping cart, etc.) • Service Class – Class used by Other Programs • Programmers Define Classes with Data Members (or Fields) and Methods • Must Be Created in ClassName.java File • Client Program – Program using a class
Access Modifiers • Used to Identify What May Use Methods • public – any method may use (Usually methods) • private – only methods in same class may use (usually data members)
Designing a Class • Decide How It Will Be Used • Decide on Interface (i.e., public representation, public methods) • Decide on Implementation (i.e., private data and data manipulation)
Example Class Class Employee firstName lastName salary
Constructor • Class Method of Same Name • Example: class Employee Method Employee() • Called When Variable (invoking object) Declared (instantiated) of Class Type • Initializes Instantiated Object • May Have Multiple Constructors Each with Different Parameters
class Employee // Employee.java { private String firstName; private String lastName; private double salary; public Employee() { // set attributes of invoking object firstName = "NoFirstName"; lastName = "NoLastName"; salary = 0.0; } }
Accessor Methods • Public Methods for Getting Attributes of Class
class Employee { private String firstName; private String lastName; private double salary; public Employee() { firstName = "NoFirstName"; lastName = "NoLastName"; salary = 0.0; } public String GetFirstName() { return firstName; } public String GetLastName() { return lastName; } public double GetSalary() { return salary; } }
Client Program • A Program that Uses a Class Is a Client of that Class • Class Objects are Declared and Instantiated Using the new keyword. • new ClassName(parameters) Calls Constructor for Class • Class Public Methods Called Using Dot (e.g., variable.GetFirstName();) • variable is the invoking object
class useEmployee //useEmployee.java { public static void main(String [ ] args) { Employee emp1 = new Employee(); System.out.println("Name is" + emp1.GetFirstName() + " " + emp1.GetLastName()); } } firstName emp1 “NoFirstName” lastName “NoLastName” salary 0.0
Mutator Methods • Class Methods Used to Modify a Class Object are Called Mutator Methods • Allows Restricted Manipulation of Class Object Data
public boolean SetSalary(double passedSalary) { if (passedSalary <= MAXSALARY) { salary = passedSalary; return true; } else { return false; } }
class useEmployee { public static void main(String [ ] args) { Employee emp1 = new Employee(); System.out.println("Name is" + emp1.GetFirstName() + " " + emp1.GetLastName()); if (emp1.SetSalary(55000)) { System.out.println("Salary set to 55000"); } else { System.out.println("Salary not set"); } } }
Static Variables and Methods • static means “in class” methods and variables • static variable: one per class (not one per object) • static method: no invoking object (invoke with className.method()) • Example: Math class methods
Static Variable Example public class MyClass { … private final int STARTID = 1; //the following are one per object private int IDNum = -1; //the following are one per class private static int nextIDNum = STARTID; public MyClass() { … IDNum = nextIDNum; nextIDNum++; } }
Static Method Example public class MyClass { … private final int STARTID = 1; //the following are one per object private int IDNum = -1; //the following are one per class private static int nextIDNum = STARTID; … public static int GetNextID() { // Called by MyClass.GetNextID() return nextIDNum; } }
Other Class Methods • boolean equals( objType comObj) • compares invoking object with passed object • Returns true if both are “equal”, false if not • void display() • Displays attributes • String toString() • Converts all attributes to String and returns String