Presentation is loading. Please wait.

Presentation is loading. Please wait.

Arrays in Java An array is a collection of elements of the same type Declaration (we will use integers in this example) int[] A; int A[]; after this the.

Similar presentations


Presentation on theme: "Arrays in Java An array is a collection of elements of the same type Declaration (we will use integers in this example) int[] A; int A[]; after this the."— Presentation transcript:

1 Arrays in Java An array is a collection of elements of the same type Declaration (we will use integers in this example) int[] A; int A[]; after this the elements do not exist yet ! A = new int[10]; this means we have now 10 integer variables: A[0], A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8], A[9] for (int i=0; i < 10; i=i+1) A [i] = i; makes A[0] = 0; A[1] = 1;....... A[8] = 8; A[9] = 9; int i = A.length; gives the number of elements (10 in this case)

2 Example with Arrays in Java Statistics about a list of numbers which is entered by keyboard. The numbers are all positive from 1 to 10. The last number entered will be the 0. After that the computer should answer the % of 1, the % of 2, etc. (see Program6) Enter a number: 3 The % of 1s was 10% Enter a number: 6 The % of 2s was 0% Enter a number: 9 The % of 3s was 30% Enter a number: 5 The % of 4s was 0% Enter a number: 3 The % of 5s was 20% Enter a number: 7 The % of 6s was 10% Enter a number: 9 The % of 7s was 10% Enter a number: 5 The % of 8s was 0% Enter a number: 1 The % of 9s was 20% Enter a number: 3 The % of 10s was 0% Enter a number: 0

3 The arguments of a program Now we can understand something about what is String args[] on the beginning of the main method. It is an array of Strings. The values of these String, as well as the length of the array are given when the program is called. public class Program7 { public static void main(String args[]) { for(int i=0; i < args.length; i++) System.out.println(“Argument “+i+” is “+args[i]); } This program will show all the parameters passed to the program when it was called, for example if we write java Program7 peter paul mary the program will write Argument 1 is peter Argument 2 is paul Argument 3 is mary

4 Classes and Objects in Java We can say that there are two types of classes from which we can create objects: –Classes provided by the language: there is a large list of classes provided by the language which the user can use. Many of them are in libraries which must be imported (java.io.* contains the BufferedReader class) –Classes created by the user: sometimes the user wants to have an object of a class which doesn't exist. For example, an object of a class “Student” which should have all the information for a student of the university. The user can define: The variables which an object of this class will have The methods which can be applied to an object of this class

5 Lets start by using an existing class: the String A class is defined primarily by the methods you can apply to an object of such class There is a special type of method called constructor, which creates a new object of this class. Example: String myName; //the object doesn't exist yet myName = new String(“Nelson Baloian”); This is a call to the constructor. In order to apply a method to an object object_variable.method(parameters)

6 Methods of the String class Length of a String: int i = myName.length(); –i will have the value 14 i-th character: char c = myName.charAt(0); –c will contain the character N char c = myName.charAt(3); - c will contain the character s Sub sequence : String sub = myName.substring(7); –sub will contain the string “Baloian” String sub = myName.substring(3, 6); - sub will contain the string “son”

7 Some methods of the String class Search for sub sequences: String s = new String(“Helo, Nelson, Hello”); int i = s.indexOf(“elo”); - i will have the value 1, it searches for the first appearance Comparing: boolean onnajiDesKa = s1.equals(s2); –the variable onnajiDes will have the value true if the text of the string s1 is equal to the text in the string s2 int i = s1.compareTo(s2); - i will have the following values depending on s1 and s2 0 if s1==s2, >0 if s1>s2, <0 if s1<s2 The value of the string is according to where they would appear in a dictionary, first means smaller

8 Finding all the sub-strings of a String We will pass 2 strings as arguments to the program and the program will answer how many times the second string appears in the first one public class Program8 { public static void main(String args[]) { int i, app = 0; String first = args[0]; String second = args[1]; do { i = first.indexOf(second); if (i == -1) break; app = app+1; first = first.substring(i+1); } while(true); System.out.println(“Found “ +app+” times”); }

9 User Defined Classes (the Clock) public class Clock { int hour, minutes; Clock(int x, int y) { hour = x; minutes = y; } public int getHour() {//same for address and yearBorn return hour;// for yearBorn the return type is int } public void setName(String x) { // same for address and yearBorn name = x; }// for yearBorn the parameter is of type int public int age(int thisYear) { return thisYear - yearBorn }

10 User Defined Classes (The Student) public class Student { String name, address; int yearBorn; Student(String x, String y, int z) { name = x; address = y; yearBorn = z; } public String getName() {//same for address and yearBorn return name;// for yearBorn the return type is int } public void setName(String x) { // same for address and yearBorn name = x; }// for yearBorn the parameter is of type int public int age(int thisYear) { return thisYear - yearBorn }

11 How to write methods public String getName( ) { return name; } Public, private, protected or static Type of value the method will return (void in case it does not return any value) Parameters of the method (none in this case) Name of the method (given by the programmer) The instructions should be written within the brackets {}

12 How to write constructor methods Student ( String x, String y, int z ) { name = x; address = y; yearBorn = z } No need to write anything here Parameters the constructor will receive to create the new object Name of the method must be the class name We can write more than one constructor Student ( ) { name = “N.N.”; address = “Tokyo”; yearBorn = 2000; } This constructor puts default values to the new object

13 How to use-user defined classes The file with the user-defined class should be compiled The class file should be at the same directory with the file containing the program. public class Program9 { public static void main(String args[]) { Student s1,s2; s1= new Student(); s2 = new Student(“Simon”,”Santiago”,1998); s1.show(); s2.show(); s1.setName(“John Smith”); s1.setAddress(“123 5th Ave. New York”); String n = s2.getName(); s2.setName(n+” Baloian”); s1.show(); s2.show(); }

14 Extending an existing class: Inheritance One of the most powerful features of object oriented programming is the possibility to extend an existing class, even if the implementation of the original class is not known. This is called inheritance Original Class Definition of new variables and methods Extended Class Super-class of the extended class

15 Extending the Student class public class WasedaStudent extends Student{ int[] marks; int nmarks; WasedaStudent(String x, String y, int z, int n) { super(x,y,z);// a call to the constructor of the superclass marks = new int[n]; nmarks = 0; } public void putNewMark(int x) { marks[nmarks] = x; nmarks = nmarks +1; } public double showAverage() { double sum = 0.0;int i; for(i=0; i < nmarks; i=i+1) sum = sum + marks[i]; return sum/nmarks; }

16 Using the extended class public class Program10 { public static void main(String args[]) { WasedaStudent ws1,ws2; ws1 =new WasedaStudent(“student1”,”Musashino-shi”,1980,5); ws2 =new WasedaStudent(“student2”,”Shinjuku-ku”,1981,7); ws1.putNewMark(10); ws1.putNewMark(5); ws1.putNewMark(4); ws2.putNewMark(5); ws2.putNewMark(8); ws2.putNewMark(7);ws2.putNewMark(4); System.out.println(ws1.showAverage()); System.out.println(ws2.showAverage()); ws1.show(); ws2.show(); } Note that we can use all the methods of the superclass


Download ppt "Arrays in Java An array is a collection of elements of the same type Declaration (we will use integers in this example) int[] A; int A[]; after this the."

Similar presentations


Ads by Google