Sin ttulo de diapositiva - PowerPoint PPT Presentation

About This Presentation
Title:

Sin ttulo de diapositiva

Description:

java Program7 peter paul mary the program will write. Argument 1 is peter. Argument 2 is paul. Argument 3 is mary. Classes and Objects in Java ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 17
Provided by: nels6
Category:
Tags: and | diapositiva | mary | paul | peter | sin | ttulo

less

Transcript and Presenter's Notes

Title: Sin ttulo de diapositiva


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 int10
  • this means we have now 10 integer variables
    A0, A1, A2, A3, A4, A5, A6, A7,
    A8, A9
  • for (int i0 i
  • Ai i
  • makes A0 0 A1 1 ....... A8
    8 A9 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 i0 i
  • System.out.println(Argument i is
    argsi)
  • 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 s1s2, 0 if s1s2,
  • 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 args0 String
second args1 do i
first.indexOf(second) if (i -1) break
app app1 first first.substring(i1
) 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
Type of value the method will return (void in
case it does not return any value)
Name of the method (given by the programmer)
public String getName( ) return name
Public, private, protected or static
Parameters of the method (none in this case)
The instructions should be written within the
brackets
12
How to write constructor methods
Name of the method must be the class name
Parameters the constructor will receive to
create the new object
Student ( String x, String y, int z ) name
x address y yearBorn z
No need to write anything here
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
Super-class of the extended class
Definition of new variables and methods
Original Class
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 intn nmarks
0 public void putNewMark(int x)
marksnmarks x nmarks
nmarks 1 public double showAverage()
double sum 0.0 int i for(i0 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
Write a Comment
User Comments (0)
About PowerShow.com