core java notes

Upload: saroj-mallick

Post on 09-Apr-2018

284 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/8/2019 Core Java Notes

    1/68

    Module-I

    Java is a true object oriented language Every o o

    programming language must satisfy three important features

    like Encapsulation inheritance and polymorphism.

    Encapsulation: is the of binding the data and methods

    together into a single unit called class. The purpose of the

    feature is more security to data and methods.

    Inheritance: is the process by which the objects of one class

    acquire the prosperities of objects of another class. Its

    purpose is the reusability of data and methods.

    Polymorphism: is the ability to take more than one form. It

    is the process in which an interface with different method

    implementory will be done. Its purpose is to reduce the code.

    Benefits of oops:

    OOP offers several advantages to both the programmer

    and the user. The principle advantages are:-

    1 Through inheritance, redundant code can be innovated

    and the use of existing classes can be extended.2 The possibility of writing a body of cod once, and than

    reusing that code over and over again. This leads to

    saving of development time and higher productivity.

    1

  • 8/8/2019 Core Java Notes

    2/68

    3 Based on the objects work in a project can be

    partitioned into different modules.

    4The concept of data hiding helps to build secureprograms that can not be invaded by code in other parts

    of the program.

    5 Object oriented systems can be easily upgraded from

    small to large systems.

    6 Software complexity can be easily managed.

    Dynamic Initialization of Variable:

    Java allows variable to be initialized dynamically using any

    expression valid at the time the variable in declared.

    // dynamic initialization program.

    Class dynamic

    { public static void main (String args [ ])

    { int a = 3, b = 4,

    int c = math.sqrt(a*a + b*b); // dynamic

    initialization.

    System. out. println (c is+c) ;

    }

    }

    2

  • 8/8/2019 Core Java Notes

    3/68

    Control Statements:-

    Control flow statements are used to make decisions

    about which statements to execute and to otherwise change

    the flow of execution in a program.

    These are broadly of three types.

    1. Selection Statements: if and switch (if else, nested if

    else, else if ladder, nested switch)

    2. Iteration (Looping) Statements: for, while, do while.

    3. Jumping Statements:break, continue, return.

    Static: It is a keyword applied to both variables and method.

    These are called class members since both static variables

    and static methods are accessed by the class name itself

    without creating an object of a class.

    These static variables are common to whole class

    instead of a single object. Hence all objects of the class have

    same constant value for a static variable. A static variable

    may change but it is constant for whole class. It is same for

    different objects of the same class.

    Static methods can also be accessed without creating an

    object of a class. main() method is a static method.

    3

  • 8/8/2019 Core Java Notes

    4/68

    They can not refer to this or super in any way.

    final: final key word can be applied to variables, method

    and classes. A final variable is one whose value does not

    change during the execution of a program. A final class is

    one, which cannot be extended; a final method is one, which

    can not be overrided by its sub class.

    this: It refers to the current object. this is used to avoid

    hiding of instance variably by local variables.

    Usage of super: The keyword super is used within methods

    and usually in constructors of a derived class to refer to the

    constructor of the class from which the new class was

    derived .super refers to the super class.

    Whenever a sub class needs to refer to its, immediate

    super class, it can do so by the use of the key word super.

    super has two general forms. The first call the super class

    constructor. The second is used to access a members of the

    super class that has been hidden by a members of sub class.

    A sub class can call a constructor method defined by its super

    class by use of the following form of super.

    super (parameter list);

    4

  • 8/8/2019 Core Java Notes

    5/68

    Here parameter list specifies any parameters needed by the

    constructor in the super class .super ( ) must always be the

    first statement executed inside a sub class constructor. super

    refers to the super class of the sub class in which it is used.

    This has the general form. Super. members, here member can

    be either a variable or a method.

    Method overriding: When a method in a sub class has the

    same name, same parameters and same return type as a

    method in its super class,then the method in the subclass is

    said to override the method in the super class. when an

    overridden method is called from within a subclass, it will

    always refer to the method defined by the sub class.

    Method overriding is done in different classes. It leads

    to polymorphism. Since the appropriate method is called at

    run time, it is also called late-binding.

    Abstract class: it is a class which may or may not contain

    abstract and non-abstract methods. We cant create an object

    of an abstract class.

    When a class extends an abstract class it must

    implement all the abstract methods or else the sub class it self

    be declared as abstract.

    5

  • 8/8/2019 Core Java Notes

    6/68

    final: A final class is one, which can not be extended. The

    execution of a final class is very fast since there is no

    inheritance for a final class and hence there is no overriding

    of methods.

    Dynamic method Dispatch: Method overriding forms the

    basis for one of Javas most powerful concept called

    Dynamic method dispatch. Dynamic method dispatch is the

    mechanism by which a call to an overridden method is

    resolved at run time, rather than at compile time. This is

    important because this is how Java implements run time

    polymorphism.

    Object class: It is the super class of all classes in Java.

    Hence the methods in this class are overridden by its

    subclasses. Some of the important methods in this class are

    equals( ), finalize ( ), notify ( ), notify All ( ), to String (

    ), wait ( ) etc.,

    ********** E N D *********

    6

  • 8/8/2019 Core Java Notes

    7/68

  • 8/8/2019 Core Java Notes

    8/68

    Importing a package :

    A package in Java can be imported by using the key

    word import

    Eg:

    import java.awt.*;

    means all classes and interfaces in that package are available

    to the given Java program

    ********************* E N D **********

    Exception Handling

    A Java exception is an object that describes an

    exceptional condition that has occurred in a program.

    Exceptions are the errors occurred at run time. By using

    Exceptional handling we can make an abnormal program as a

    normal program. Bu using exception handling we can predictthe flow of a program and can take necessary steps for its

    normal flow.

    The super class of all the exceptions is Throwable

    8

  • 8/8/2019 Core Java Notes

    9/68

    class. It has two subclass namely Error and Exception

    classes. Error is the class which we cant avoid those errors

    occurred at run time.

    Exception is the class where we can handle those

    errors.Exception has two sub classes namely Checked

    exception and UncheckedException

    Checked Exceptions: Those are the subclasses of the

    Exception class. These are the errors occurred at run time

    which can not be programmatically rectified.

    Unchecked Exception: These are the errors occurred at run

    time which can be programmatically rectified.

    These are also called RunTimeExceptions.Most of the

    exceptions are subclasses of RunTimeException class.

    There are five key words used in Exception Handling of

    Java. They are :

    try

    catch

    finally

    throw

    throws

    try:

    9

  • 8/8/2019 Core Java Notes

    10/68

    A try block is used to encapsulate a piece of code where

    we may be expecting some run time errors.If this try block

    finds any run time error,it throws those errors to a suitable

    catch block.

    If there is no run time error in the try block, then the

    execution of the program is normal.

    A try block must always be associated with atleast one catch

    block or a finally block or both.

    A try block may have multiple catch blocks, only one of

    those multiple catch blocks will be executed.

    catch :

    The error thrown by a try block is caught in this catch

    block.A catch block is always followed by a try block.

    A catch block takes one parameter of type Exception

    class.

    If there are multiple catch blocks for a given try block,

    the catch block which contains Super class Exception should

    come after all sub class Exception catch blocks.

    finally :

    This finally block is used to execute whether an

    Exception is caught or uncaught.

    10

  • 8/8/2019 Core Java Notes

    11/68

    This is followed by catch blocks or a simple try block.

    This is mainly used to know the follow of execution of a

    given program.

    throw :

    This is used to throw some predefined Exceptions

    explicitly.It is mainly used to create User Defined

    Exceptions.

    throws :

    This is used to throw Exceptions from methods.Most of

    the checked exceptions use throws in Java programs.

    Generally this is used while writing IO programs,JDBC

    programs and other advanced Java Programs like Servlets,

    RMI etc

    Javas built in Exceptions :

    There are many built in Exceptions in Java.These

    are of type Exception and its sub class Exceptions.

    Some of the important built in Exceptions in Exception

    class are:

    ArithmeticException

    NumberFormatException

    11

  • 8/8/2019 Core Java Notes

    12/68

    ArrayIndexOutOfBoundsException

    IndexOutOfBoundsException

    IOException

    InterruptedException etc

    User Defined Exceptions :

    In addition to built in Exceptions or predefined

    Exceptions, we can create User Defined Exceptions also

    depending upon the type of application.

    User Defined Exception can be created by extending

    Exception class.

    Question: List out by an example the way to create user

    defined exception (or) write a program to create user defined

    exception.

    Solution:

    Generally user defined exceptions are used in practical

    applications. All user defined exceptions extend Exception

    class.

    The following MyownException extends exception

    class.

    12

  • 8/8/2019 Core Java Notes

    13/68

    // program to create user defined exception class named

    //MyownException

    //Program solution

    class MyownException extends Exception

    {

    MyownException ( )

    { }

    public String getMessage ( )

    {

    return in sufficient funds;

    }

    }

    class Exceptiondemo

    {

    public static void main (String args [ ] )

    {

    try

    {

    int amount= Integer. parseInt(args [0]) ;

    if (amount < 500)

    {

    13

  • 8/8/2019 Core Java Notes

    14/68

    throw new MyownException ( );

    }

    }

    catch (MyownException m )

    {

    System.out. println (m. getMessage ( ) ) ;

    }

    }

    }

    In the above program, the amount is entered from the

    command line and if the amount is less than 500, it will

    throw an user defined exception

    ********* E N D *********

    14

  • 8/8/2019 Core Java Notes

    15/68

    Multi Threading :Multi Threading is the concept used in Java based

    on Multi tasking.Multi Threading is the technique used to

    perform many things simultaneously. By using multithreading, we can make CPU more busy and hence reduce

    the idle time of CPU.

    Java Thread Model:

    This model is also similar to process based multi

    tasking. A Thread is a separate path of execution in a

    program. In Multi Threading model of multi tasking all

    thread have same address and are called light weight

    components.Thread Priorities : Thread priorities are used by thread

    scheduler to decide when each thread should be allowed to

    run.These are the integer values.

    There are three types of Thread priorities:

    They are :

    MIN_PRIORITY

    MAX_PRIORITY

    NORM_PRIORITY

    MIN_PRIORITY........VALUE IS 1

    MAX_PRIORITY........VALUE IS 10

    NORM_PRIORITY........VALUE IS 5

    Synchronization :

    When two or more threads need access to a sharedresource,they need some way to ensure that the resource will

    be used by only one thread at a time.This is called

    Synchronization.

    By using this, the code is safe and the resource is not

    15

  • 8/8/2019 Core Java Notes

    16/68

    corrupted. But the draw back is the execution is little bit

    slow.

    Creating a thread:

    We can create our own thread by extending a Thread class or

    implementing a Runnable interface.

    Imp.methods in Thread class:

    String getName(): Obtain thread's name

    int getPriority(): Obtain a thread's priority.

    boolean isAlive() : Determine if a thread is still running or

    not

    static void sleep(long milliseconds): suspend a thread for aperiod of time.

    public void start() : Start a thread by calling it's run method.

    Imp.methods in Runnable interface;

    public void run() :this method must be implemented by

    any class that implements this interface.

    Creating Multiple Threads :

    We can create multiple threads either by using a

    Thread class or a Runnable interface.

    Eg:

    Creating three user defined threads Thread1,Thread2

    and Thread3 by extending a Thread class;

    //creation of multiple threads

    class Thread1 extends Thread{}

    class Thread2 extends Thread

    {}

    class Thread3 extends Thread

    {}

    16

  • 8/8/2019 Core Java Notes

    17/68

    class Threaddemo

    {

    public static void main(String args[])

    {

    Thread1 t1=new Thread1();

    Thread1 t2=new Thread2();

    Thread1 t3=new Thread3();

    }

    }

    Life cycle of a thread: In multithreading a thread is a

    separate path of execution in a program. Every thread has 5

    life cycle stages. They are:-

    1.New born state

    2.Runnable state

    3.Running state

    4.Blocked state

    5. Dead state

    A thread is in one of these five states .It can move from one

    state to other state.

    New born state: When a thread object is created the thread

    is born and is said to be in new born state.

    Runnable state: in this state, the thread is ready for

    execution and is waiting for the availability of the processor.

    Running state: Running means that the processor has given

    17

  • 8/8/2019 Core Java Notes

    18/68

    its time to the thread for its execution.

    Blocked state: A thread is blocked when it is prevented from

    entering into the runnable state and subsequently in the

    running state. This happens when the thread is suspended,

    sleeping or waiting in order to satisfy certain requirements.

    Dead state: it is the last stage of a thread .A running thread

    ends its life when it has completed executing its run ( )

    method. It is a natural death.

    Interthread Communication :

    Inter thread communication in Java is done by means of three

    methods.

    They are wait(),notify() and notifyAll() methods.These

    methods are called only from a synchronized method.

    ************** E N D **************

    18

  • 8/8/2019 Core Java Notes

    19/68

    String Handling

    String is an array of characters in many programming

    languages.In Java String is also an array of characters.

    But mainly a String is a class in Java.It is a predefined class

    in java.lang package.

    Java.lang package is a default package in Java.

    There are two String Handling classes available in Java

    namely

    String

    StringBuffer

    Both String and StringBuffer are final classes.

    Both these classes are available in java.lang package.

    String :

    It is a final class in java.lang package.

    A String class is an object in Java.A String is immutable, which means that it is fixed and the

    contents of a String are always constant.

    String constructors :

    We can create an object of a String class by different ways

    by using different types of constructors.

    String s1=new String()

    String s2=new String(program);

    String s3=new String(s2);String s4=program;

    char name[]={J,I,T,M};

    String s5=new String(name);

    There are many methods available in String class.

    19

  • 8/8/2019 Core Java Notes

    20/68

    Some of the important methods are:

    length():

    This method is used to find the length or size of a

    String.This method returns number of characters present in

    the given String.

    Syntax of the method:

    int length()

    Eg:

    String s=CoreJava;

    int i=s.length();

    length() returns the length of the string and its length is

    stored in i which is 8concat():

    This method is used to join or concat two strings.

    The return type of this method is String.

    This method takes one parameter which is also a String

    String concat(String str)

    Where str is the String joined to the given String.

    Eg:

    String s1=Java;

    String s2=Program;

    String s3=s1.concat(s2);

    Where the output of s3 is JavaProgram

    Concatenation operator(+):

    The operator + is called a concatenation operator.

    It is similar to concat() method.

    In Java + is used to join any strings.Eg:

    String s1=Java;

    String s2=Program;

    String s3=s1+s2;

    20

  • 8/8/2019 Core Java Notes

    21/68

    Where the output of s3 is JavaProgram

    toLowerCase():

    This method is used to convert upper case letters of a String

    to lowercase.The return type of this method is String.

    String toLowerCase()

    Eg:

    String s=JAVA PROGRAM;

    The output of

    s.toLowerCase() is java program

    toUpperCase():

    This method is used to convert lower case letters of a String

    to uppercase.The return type of this method is String.String toUpperCase()

    Eg:

    String s= java;

    The output of

    s.toLowerCase() is JAVA

    trim():

    This method is used to filter white spaces before and after a

    given String.

    This mehod is not used to filter white spaces between any

    two words of a String.

    The return type of this method is String

    String trim()

    String s= Learn Java Basics ;

    The output of

    s.trim() is Learn JavaBasicsreplace():

    This method is used to replace a given character of a String

    with another new character . The return type of this method

    is String.

    21

  • 8/8/2019 Core Java Notes

    22/68

    This method replaces the occurrence of the given character

    through out the String by the new character.

    String replace(char original,char new)

    Eg:

    String s=Liver;

    The output of

    s.replace(L,R) is River

    String Comparision Methods:

    There are three types of String Comparision in Java.

    They are :

    (i)equals()

    (ii)==(iii)compareTo()

    equals():

    This method is used to compare actual contents of the two

    strings.The return type of this method is a boolean value.

    boolean equals(String s)

    Eg:

    String s1=new String(rama);

    String s2=new String(jaya);

    String s3=new String(rama);

    String s4=new String(RAMA);

    The output of

    if(s1.equals(s2)) is false

    if(s1.equals(s4)) is false

    if(s1.equals(s3)) is true

    equalsIgnoreCase():

    This method is used to compare actual contents of the two

    strings same as equals() except that it neglects case

    sensitiveness of letters.

    22

  • 8/8/2019 Core Java Notes

    23/68

    Eg:

    String s1=new String(rama);

    String s2=new String(RAMA);

    The output of

    if(s1.equals(s2)) is false

    if(s1.equalsIgnoreCase(s3)) is true

    compareTo():

    This method is used to compare two strings depending on the

    ASCII values of the characters of the string.

    The return type of this method is int.

    int compareTo(String s)

    Eg:String s1=A123;

    String s2=C123;

    String s3=A123;

    It returns,

    0 if s1 is greater than s2 and the output of

    s2.compareTo(s1) is 2

    =0 if s1 is equal to s2 and he output of

    s1.compareTo(s3) is 0

    Character Extraction:

    The String class provides a number of ways in

    which characters can be extracted from a String object.There

    are many methods used to extract characters from a

    String.The important method is charAt()charAt():

    This method is used to extract a single character from a

    String.The return type of this method is char.

    char charAt(int where)

    Here, where is the index of the character.

    23

  • 8/8/2019 Core Java Notes

    24/68

    Eg;

    String s=ABCDEF;

    s.charAt(2);

    where the output is C,since at location 2 there is characterC.

    Modifying a String:

    There are many ways of modifying a String.Mostly

    used modifying method is substring().

    substring():

    This method is used to return a substring of the given String

    starting from the startindex of the given method.

    The return type of this method is also a String.

    This method is overloaded.(i)String substring(int startindex)

    It returns a substring starting from startindex to the end of

    the String.

    Eg:

    String s=Learn from the Basic Concepts;

    012345---posions of characters in the String

    The output of

    s.substring(5) is from the Basic Concepts

    (ii)String substring(int startindex,int endindex):

    It returns a substring starting from startindex upto the end of

    the end index without including endindex.

    Eg:

    String s=Learn from the Basic Concepts;

    0123456789

    s.substring(5,9) is fromIn this character in the location of 9 will not be included.

    StringBuffer:It is a final class in java.lang package.

    A StringBuffer is mutable,which means thatwhich means

    that it is not fixed and the contents of a StringBuffer may

    24

  • 8/8/2019 Core Java Notes

    25/68

    change.It is dynamic in nature,where we can insert any

    character at any location.

    A StringBuffer class stores an additional memory for 16

    characters.

    There are some methods which are available only in

    StringBuffer class only.Some of the important methods are:

    capacity():

    This method is used to return than memory

    capacity of a StringBuffer.The return type of this method is

    int.

    Eg:StringBuffer sb1=new StringBuffer();

    StringBuffer sb2=new StringBuffer(ABCDE);

    Sb1.length() is 0 and sb2.length() is 5

    sb1.capacity() is 16 where as

    sb2.capacity is 21

    append():

    This method is similar to concat() method in

    String class.This method is used to join any string to the

    StringBuffer.

    The return type of this method is StringBuffer.

    StringBuffer append(String s)

    Eg:

    StringBuffer sb=new StringBuffer(Learn);

    Sb.append(Basics);Where the output is LearnBasics

    reverse():

    This method is used to reverse the characters of a

    given StringBuffer.The return type of this method is again a

    StringBuffer.

    25

  • 8/8/2019 Core Java Notes

    26/68

    StringBuffer reverse()

    Eg:

    StringBuffer sb=new StringBuffer(ABCDEF);

    sb.reverse();

    Where the output is FEDCBA

    ******* E N D **********

    26

  • 8/8/2019 Core Java Notes

    27/68

    Exploring java.lang

    java.lang package is the default package in Java

    and it is automatically imported into all Java programs.There are many classes available in java.lang

    package.Some of the important classes are :

    Number

    Math

    ObjectRuntime

    String

    StringBuffer

    System

    Thread

    ThreadGroup

    Throwable

    Some of the important interfaces are :

    Cloneable

    Comparable

    Runnable

    Simple Type Wrappers :

    27

  • 8/8/2019 Core Java Notes

    28/68

    Java uses simple data types like int,float,double,char etc

    But these simple types are not objects. Java provides

    Wrapper classes to convert simple types to objects.

    Wrapper classes:In java all are objects except the primitive

    data types.If we want to access primitive data types as

    objects we should wrap the primitive data types within a

    class.

    There are 6 Wrapper classes.They are the sub classes of

    Number.They are...

    Double,Float,Byte,Short,Integer and Long.

    Double d=12.33;

    Double dd=new Double(d);

    Int i=555;

    Integet ii=new Integer(i);

    float f=12.33f;

    Float ff=new Float(f);

    Runtime :

    The Runtime class encapsulates the run-time

    environment.We cannot instantiate a Runtime object.we can

    get an object of Runtime class by calling method

    Runtime.getRuntime();

    28

  • 8/8/2019 Core Java Notes

    29/68

    Memory Management:

    Even though Java provides automatic garbage

    collection,sometimes you will want to know how large the

    object heap is and how much of it is left. To obtain these

    values, use totalMemory() and freeMemory() methods

    defined in Runtime class.

    Object :

    Object is the super class of all Java classes.

    There are many methods available in Object class.

    clone() method is used to create a duplicate copy of the

    object on which it is called.Only classes that implements

    Cloneable interface can be cloned. Cloneable interface

    defines no members and it is a marker interface.

    Thread :

    A Thread is a predefined class in java.lang package. It is

    a separate path of execution in a program.

    Java uses Threads for implementing Multi Threading in

    Java.By using a Thread we can create our own threads.

    Runnable :

    29

  • 8/8/2019 Core Java Notes

    30/68

    This is an interface that must be implemented by any

    class that will initiate a separate thread of

    execution.Runnable defines one abstract method called,run(),

    which is the entry point to the thread.

    ThreadGroup :

    A ThreadGroup is a class, which creates a group of

    threads.This offer a convenient way to manage groups of

    threads as a unit.

    ************** E N D *********

    30

  • 8/8/2019 Core Java Notes

    31/68

    Module-III

    Java.util

    It is the package which is mainly based on Collections.A Collection is a group of objects.Collection Frame work

    standardises the way in which groups of objects are handled

    by ur programs.These are available in java.util package.

    Some imp. classes in java.util package.

    ArrayList

    HashMap

    HashSetTreeSet

    HashTable

    LinkedList

    StringTokenizer

    Vector

    Stack

    Some imp. interfaces in java.util package are:

    CollectionEnumeration

    Iterator

    List

    Map

    Set

    Collection interface is the foundation upon which the

    collections framework is built.A collection can not directly store values of type

    int,char,double etc..If you want to

    store such objects,you have to use primitive wrapers.

    31

  • 8/8/2019 Core Java Notes

    32/68

    List :The List interface extends Colletion and declares the

    behavior of a collection that stores a sequence of elements.A

    List may contain duplicate elements.

    Set : A Set extends Collection and declares the behavior of a

    collection that does not allow duplicate elements.

    LinkedList:The LinkedList class extends

    AbstractSequentialList and implements the List

    interface.

    ArrayList : ArrayList class extends AbstractList and

    implements the List interface.ArrayList supports dynamic

    arrays that can grow as needed.It can dynamically

    increase or decrease in size.ArrayList are created with aninitial size.when this size is exceeded ,it is automatically

    enlarged.When objects are removed,the array may be shrunk.

    HashSet : HashSet extends AbstractSet and implements the

    Set interface.In a HashSet the elements are not stored in a

    sorted order.

    TreeSet : TreeSet provides an information of the Set

    interface that uses a tree for storage.

    Objects are stored in sorted,ascending order.Access and

    retrieval times are quite fast,which makes TreeSet an

    excellent choice when storing large amounts of sorted

    information that must be found quickly.

    Iterator : An Iterator interface is used to cycle through the

    elements in a collection.

    This is also done by a ListIterator interface.Iterator enables

    you to cycle through a collection,obtaining or removingelements.

    ListIterator:

    ListIterator extends Iterator to allow bidirectional traversal of

    a list.

    32

  • 8/8/2019 Core Java Notes

    33/68

    Map : A Map interface is an object that stores associations

    between keys and values or key/value pairs.Given a key we

    can find its value.Both keys and values are objects.The

    keysmust be unique,but the values may be duplicated.Some

    may accept a null key and a null value.Map.Entry describes

    an element(key/value pair)in a map.This is an inner class of

    Map.

    Enumeration : Enumeration interface defines the methods

    by which you can enumerate(obtain one at a time)the

    elements in a collection of objects.This is superceded by

    Iterator.

    Enumeration has two methods.boolean hasMoreElements()

    Object nextElement()

    Vector : Vector implements a dynamic array.It is similar to

    ArrayList, but Vector vector is synchronised.A Vector

    extends AbstractList and implements the List interface.

    Stack : Stack is a subclass of Vector that implements a Last-

    In,First-Out(LIFO) stack.

    There are two opearation in Stack.Push n Pop operation.Push

    operation adds an object to the

    stack n Pop operation deletes an object from stack.

    Dictionary : It is an abstract class that represents a key/value

    pair like a Map.

    HashTable : HashTable class is similar to a HashMap,but

    HashTable is synchronized.

    HashTable stores key/value pairs in a hash table.When usinga HashTable,you specify an object that is used as a key,and

    the value that you want linked to that key.

    StringTokenizer:It is mainly used for parsing.To use a

    StringTokenizer,you specify an input string and a string that

    contains Delimiters.Delimiters are characters that seperate

    33

  • 8/8/2019 Core Java Notes

    34/68

    tokens.Each character in the delimiters string is considered a

    valid delimiter.For example ",;:"sets the delimiters to

    comma,semicolon,and colon.

    The Collection Algorithms:

    The collections framework

    Defines several algorithms that can be applied to collections

    and maps.These algorithms are defined as static methods

    within the Collections class.Several of the methods can throw

    a ClassCastException,which occurs when an attempt is made

    to compare incompatible types.

    The Legacy classes and Interfaces:

    Legacy classes and interfaces are sysnchronized.Butnone of the collection classes are synchronized.The legacy

    classes defined by java.util package are

    Dictionary

    Hashtable

    Properties

    Stack

    Vector

    There is only one legacy interface called Enumeration

    Random:

    Random class is a generator of pseudorandom numbers.

    Observable:

    The Observable class is used to create sub classes that

    other parts of your program can observe.When an object ofsuch a sub class undergoes a change, observing classes are

    notified.

    Observing classes must implement the Observer

    interface, which defines the update() method.

    34

  • 8/8/2019 Core Java Notes

    35/68

    ****** E N D ******

    35

  • 8/8/2019 Core Java Notes

    36/68

    Java.iojava.io is a package in Java to perform input and output

    operations.

    Stream is an abstraction that either produces or consumesinformation.A stream is linked to a physical device by the

    java i/o system.

    System class defines three predefined stream variables

    namely in,out,err

    System.out refers to the standard output stream.By default,

    this is the console.System.err refers to the standard error

    stream,which is also the console by default.System.in refers

    to standard input,which is the keyboard by default.Streams are two types.Byte streams and Character

    streams.

    (i)Byte Streams :

    Byte streams provide a convenient means for handling

    input and output of bytes. Byte streams are used when

    reading or writing binary data.

    Byte streams are defined by two classes namelyInputStream and OutputStream

    (ii)Character Streams :

    Character streams provide a convenient means for

    handling input and output of characters.

    Character streams are defined by two classes namely

    Reader and Writer.

    Serialization:

    Serialization is the process of writing the state of an

    object to a byte stream.This is useful when you want to save

    36

  • 8/8/2019 Core Java Notes

    37/68

    the state of your program to a persistent storage area, such as

    a file.

    Serialization is mainly needed to implement

    Remote Method Invocation (RMI)

    Serializable :

    A Serializable is an interface.This interface has no

    variables or methods. It is also called as Marker interface.

    A Serialazable interface is used to make a class as

    serialized.If a class is serialazable,all of its subclasses are

    also serializable.

    ****** E N D ******

    37

  • 8/8/2019 Core Java Notes

    38/68

    Networking:

    A network is a set of computers and peripherals, which are

    physically connected together. Networking enables sharingof resources and communication. Internet is a network of

    networks.

    Java applets can be downloaded from a website. Networking

    in java is possible through the use of java.net package.

    Protocols: Communication between computers in a networkor a different networks require a certain set of rules called

    protocol. Java networking is done using TCP/IP protocol.

    Some of the different kinds of protocols available are HTTP,

    FTP, SMTP.

    HTTP: hyper text transfer protocol enables interaction with

    the internet. It is the underlying protocol of www

    FTP: file transfer protocol enables transfer of files between

    computers.

    SMTP: SimpleMailTransferProtocol is used to send email

    between machines.

    Client /Server: A computer which requests for some service

    from another computer is called client. The one that

    processes the request is called a server.

    38

  • 8/8/2019 Core Java Notes

    39/68

    Internet Address: Every computer connected to a network

    has a unique IP address. An IP address is a 32- bit number

    which has four numbers separated by period. A sample IP

    address is given below.

    80. 0 . 0 . 53

    Domain Naming Service: it is very difficult to remember a

    set of numbers (IP address) to connect to the internet .The

    DomainNaming Service (DNS) is used to overcome this

    problem. It maps one particular IP address to a string of

    characters Eg: www.yahoo.com.

    Port: It is a number given for a particular application

    running in a system.

    For a system there will be only one connection to

    network, but there could be many applications running in the

    system. So, for communicating with each of these

    applications unique number is given. This number is known

    as a port number.

    Each port is identified by a number from 0 to 65, 535.

    Each port can be allocated to a particular service port number

    .7 is assigned for ECHO, 21 is assigned for FTP, 23 is for

    Telnet, 25 is for e-mail, 80 for HTTP and 1099 for RMI

    39

  • 8/8/2019 Core Java Notes

    40/68

    registry.

    Networking classes and interfaces: All these classes and

    interfaces are contained in java.net package.

    DatagramPacket,DatagramSocket,InetAddress,Socket,

    ServerSocket, URL, URLConnection etc., are some of the

    important classes in networking.

    FileNameMap,SocketImplFactory, SocketOptions are

    important interfaces in this networking.

    Whois: It is a simple directory service protocol. It was

    originally designed to keep track of administrators

    responsible for internet hosts and domains.

    A Whois client connects to one of several central

    servers and requests directory information for a person or

    persons. It can usually give you a phone number and an

    e-mail address.

    SocketBasics:

    A socket is a connection between two hosts. It can

    perform seven basic operations.

    1.Connect to a remote machine.

    2.Send data

    40

  • 8/8/2019 Core Java Notes

    41/68

    3.Receive data

    4.Close a connection

    5.Bind a port

    6.Listen for incoming data

    7.Accept connections from remote machines on the bound

    port.

    Javas Socket class, which is used by both clients and

    servers, has methods that correspond to the first four of these

    operations. The last three are needed only by servers which

    wait for clients to connect to them. They are implemented by

    the ServerSocket class.

    Socket class is used to perform client side TCP

    operations.

    ServerSocket class contain every thing you need to write

    servers in Java.

    URL: is called as Uniform Resource Locator and is a

    reference or an address to a resource on the internet.

    A URL has two main components.

    1. Protocol Identifier 2. Resource name.

    Eg: The following is an example of a URL which addresses

    41

  • 8/8/2019 Core Java Notes

    42/68

    the java web site hosted by SunMicroSystem .

    http://java.sun.com.

    Protocol Identifier is http

    Resource name is java.sun.com

    URL Connection: it is a general purpose class for accessing

    the attributes of a remote resource. Once you make a

    connection to a remote server, you can use URLConnection

    to inspect the prosperities of the remote object before

    actually transporting it locally.

    TCP (Transmission Control Protocol)

    It is a connection based protocol that provides a reliable

    flow of data between two computer, this is analogous to

    making phone call. It provides point-to-point channel for

    application that require reliable communication HTTP, FTP,

    Telnet etc., are TCP protocols.

    UDP (User Datagram protocol)

    It is a connection less oriented protocol. It sends

    independent packets of data from one computer to another

    with no guarantees about arrival.This is analogous to sending

    a letter through the postal service

    42

  • 8/8/2019 Core Java Notes

    43/68

  • 8/8/2019 Core Java Notes

    44/68

    AppletAn Applet is a Java program which runs from a Java

    enabled web browser.

    It also runs by using an appletviewer which is a tool fromjdk(Java Development Kit)

    Applet is a class in java.applet package.

    Writing an Applet program:

    We have to import two packages to write an Applet

    Program.Those packages arejava.awt andjava.applet

    There is no main() method in an Applet program.It has

    an init() method where the execution of the Applet

    begins.

    We have to write an tag in order to see the

    output of an Applet Program.

    tag contains three mandatory attributes

    namely code,width and height

    We can use an tag in the same Java file where

    your Applet program is written by commenting it.We

    can also separately use this tag in a html file.Applet Architecture :

    Applet is a window based program which runs by using

    a Java compatible browser or an appletviewer. Its

    architecture is different from a console based application

    programs.

    Applets are event driven.That is why we have to import

    java.awt package also to write Applet programming. All

    44

  • 8/8/2019 Core Java Notes

    45/68

    Applets runs in a window. They have init() method instead of

    main() as in console based programs.

    Life cycle of an Applet:

    There are four stages in the life cycle of an

    Applet.These life cycle methods will be automatically

    called by the container or browser where the Applet is

    running.

    The four life cycle methods are:

    (i)init()

    (ii)start()

    (iii)stop()(iv)destroy()

    init():

    This is the first method called when an Applet is

    initialized.This method is called exactly once.During this

    method initialization of the Applet will generally be done.

    start():

    This is the next method called immediately called after the

    init() method.This method will be called one or more

    number of times.

    stop():

    This method is called when an Applet moves from one

    page to another page.This method will also be called one

    or more number of times.

    destroy():

    This is the last method called by an Applet.This method is

    used to relieve the memory resources used by the

    Applet.This method will also be called exactly once.

    Applet Skeleton :

    45

  • 8/8/2019 Core Java Notes

    46/68

    There are five methods defiend in the skeleton of an

    Applet. They are :

    (i)init()

    (ii)start()

    (iii)stop()

    (iv)destroy()

    (v)paint()

    The first four methods are also called life cycle methods

    of an Applet.

    paint() method is called when an Applets window must be

    restored. In this method we can display any thing on the

    Applet window.

    This method is called when each time Applets output is

    redrawn.

    Note :

    There are three interfaces in java.applet package.They

    are AppletContext, AudioClip and AppletStub

    AppletContext :

    AppletContext is an interface that lets you get information

    from the Applets execution environment.

    The context of the currently executing Applet is obtained by

    46

  • 8/8/2019 Core Java Notes

    47/68

    a call to the getAppletContext() method defined in Applet

    class.

    showDocument()

    Within an Applet,once you have obtained the Applets

    context,you can bring another document into view by calling

    showDocument() method. This method has no return values

    and throws no exception if it fails.

    Writing a SimpleApplet Program:

    /*Writing SimpleApplet Program which displays a

    message on the Applet window*/

    import java.awt.*;

    import java.applet.*;

    /**/

    public class SimpleApplet extends Applet{

    public void paint(Graphics g)

    {

    g.drawString(Welcome to Applets,100,200);

    }

    }

    Passing Parameters to Applets :

    We can send parameters to Applet from a HTML file using

    tag.A tag contains name and value as a

    pair and by giving name we can get the value associated with

    47

  • 8/8/2019 Core Java Notes

    48/68

    that name.

    getParameter() of Applet class is used to retrieve the value of

    a given name in the tag.

    /*Program in which a HTML file passes parameters to an

    Applet and those values are displayed in the Applet

    Window.*/

    import java.awt.*;

    import java.applet.*;

    /*

    */

    public class ParamApplet extends Applet

    {

    Public void paint(Graphics g)

    {

    String s=getParameter(Company1);

    g.drawString(s,200,300);

    }

    }

    Explanation:

    The output of the above program in an Applet window

    48

  • 8/8/2019 Core Java Notes

    49/68

    is Infosys

    Note :

    There are three interfaces in java.applet package.They

    are AppletContext, AudioClip and AppletStub

    AppletContext :

    AppletContext is an interface that lets you get information

    from the Applets execution environment.

    The context of the currently executing Applet is obtained by

    a call to the getAppletContext() method defined in Applet

    class.

    showDocument()

    Within an Applet,once you have obtained the Applets

    context,you can bring another document into view by calling

    showDocument() method. This method has no return values

    and throws no exception if it fails.

    *********** E N D *********

    49

  • 8/8/2019 Core Java Notes

    50/68

    Event Handling

    In AWT except Label component all other

    components have Listeners.

    Event Handling is the technique in which a given component

    registers with a Listener and this Listener Handles the event

    fired by that Component.

    Event Handling Models:

    Event Handling models are of two typesThey are :

    Hierarchical Event Model

    Delegation Event Model

    Hierarchical Event Model:

    In this type of model, the presentation logic and

    business logic are not clearly separated from each other. This

    method is now out dated.

    Delegation Event Model :

    In this type of model, the presentation logic and

    business logic are clearly separated from each other.

    Hence both presentation and Business logic are independent

    of each other and the changes made in one logic has no effect

    on other logic.

    Event:

    An event is an object that describes a state change in a

    source.

    An Action performed on a component is an Event.Some of

    the activities that cause events to be generated are pressing

    50

  • 8/8/2019 Core Java Notes

    51/68

    a button,entering a character in a text field,selecting an

    item in a choice,double clicking an item in a list,clicking

    the mouse etc..

    Event Source:

    The Component on which the event has occurred is calledthe Event Source object.

    Event class :

    It is the class which is generated by the component

    when Event Handling is done.

    Suppose when a Button component is clicked,it generated

    ActionEvent class.There are many types of Event classes available in

    java.awt.event package.Some of the Event classes are:

    Event ClassesActionEvent class is occurred

    (i)When U click a button an Action Event occurs.(ii)Double clicking a List Item.

    (iii)When U click a Menu Item.Adjustment Event class is occurred

    When a Scrollbar is manipulatedTextEvent class is occurred

    When U change the contents of the Text field or Textarea.

    Item Event class is occurred

    Generated when a check box or list item is clicked.It

    also occurs when a choice selection is made.ComponentEvent class is occurred

    Generated when a component ishidden,moved,resized,or becomes visible

    ContainerEvent class is occurred

    51

  • 8/8/2019 Core Java Notes

    52/68

    When U Add a Component or Remove a Componentfrom a Container

    FocusEvent class is occurred

    When a component is receiving the focus and losingfocus.

    WindowEvent class is occurred

    Generated when a window isactivated,closed,deactivated,deiconified,iconified,

    opened,or quitKeyEvent class is occurred

    Generated when input is received from keyboard

    MouseEvent class is occurredGenerated when the mouse is

    dragged,moved,clicked,pressed,or released.It alsogenerated when the mouse enters or exits acomponent

    Event Listener interface :

    It is the listener which is registered with a given

    component when an event occurs.

    Suppose when a Button is clicked, ActionListener is

    registered with it and the corresponding method of this

    ActionListener interface to be implemented is

    actionPerformed() method

    Adapter Class:

    An Adapter Class is a class that already implement all the

    methods in its corresponding interface.

    An Adapter class provides an empty implementation of allmethods in an event listener interface.Adapter classes are

    used when only some of the events are to be received and

    processed that are handled by a particular listener interface.

    For example,MouseMotionAdapter class has two

    methods.mouseDragged() and mouseMoved().The signatures

    52

  • 8/8/2019 Core Java Notes

    53/68

    of these empty methods are defined in the

    MouseMotionListener interface.If only mouse dragged

    events are to be performed then simply extend

    MouseMotionAdapter and implement mouseDragged().The

    empty implementation of mouseMoved() would handle the

    mouse motion events.

    Commonly used Adapter classes injava.awt.event package

    and the interfaces are:

    MouseAdapter class and the corresponding Listener

    interface is MouseListener

    MouseMotionAdapter class and the corresponding Listener

    interface is MouseMotionListenerWindowAdapter class and the corresponding Listener

    interface is WindowListener

    ********* E N D **********

    53

  • 8/8/2019 Core Java Notes

    54/68

    Module IV

    AWT

    AWT , Abstract Window Toolkit in Java is used to

    write GUI programs.Today most of the front ends are

    using Graphical User Interface(GUI) programming due to

    many benefits such as user friendly,attractive,uses

    different colors,uses many pictures,uses images,simulates

    real world components etcJava provides powerful GUI programming by

    using AWT.

    The super class of all AWT components is Component.The

    sub class of Component is Container.

    Container has two sub classes namely Window and Panel

    Window:

    Window is the top level class which sits directlyon the desktop.It has again two sub classes namely Frame

    and Dialog.

    Frame:

    It is the sub class of Window.A Frame contains

    title,background,foreground,other controls like

    minimize,maximize etc

    Most of the AWT Programs are using a Frame window as

    their container.The default Layout Manager of a Frame Window is a

    BorderLayout.

    The two important methods used in a Frame class are

    void setSize(int width,int height)

    54

  • 8/8/2019 Core Java Notes

    55/68

  • 8/8/2019 Core Java Notes

    56/68

  • 8/8/2019 Core Java Notes

    57/68

    Font(String s,int style,int size)

    Where s is the name of the Font like

    TimesRoman,Sanserif,Monospaced etc

    Where style is BOLD,ITALIC,PLAIN or combination

    of styles and size is the size of Font

    Eg:

    Font f1=new Font(TimesRoman,Font.BOLD,40);

    Font f2=new Font(Monospaced,Font.ITALIC,70);

    Where f1,f2 are different objects of class Font

    //Program working with Graphics by using Color and

    Font classes.

    import java.awt.*;

    import java.applet.*;

    /**/

    public class NameApplet extends Applet

    {

    public void paint(Graphics g)

    {

    Font f=new Font(TimesRoman,Font.BOLD,50);

    g.setFont(f);

    Color c=new Color(100,200,60);

    g.setColor(c);

    g.drawString(Working with Graphics,100,200);

    }}

    Controls used in AWT:

    There are many controls used in AWT.

    Some of the important controls used in AWT are

    57

  • 8/8/2019 Core Java Notes

    58/68

    Label

    Button

    Checkbox

    Choice

    List

    TextField

    TextArea

    Except Label Component all other Components

    have listeners.

    Layout Managers :

    It is essential to align the components properly in a

    given Container.Alignment of Components is verydifficult .This difficulty is avoided by using a proper Layout

    Manager.

    There are many types of Layout managers used in

    AWT.Some of the important Layout Managers are

    (i)BorderLayout

    (ii)FlowLayout

    (iii)GridLayout

    (iv)CardLayout

    (v)GridbagLayout

    Reflection:Reflection is the ability of a program to analyze itself. The

    java.lang.reflect package provides the ability to obtain

    information about the fields,constructors,methods, and

    modifiers of a class.

    Reflection is used to determine dynamically the

    characteristics of a component

    Remote Method Invocation(RMI) :

    58

  • 8/8/2019 Core Java Notes

    59/68

    Remote method invocation(RMI) is a distributed

    application developed in Java.By using RMI, we can invoke

    the method available in a remote machine.\

    In RMI we have two machines where one machine acts

    as a Server and another machine acts as a Client.

    To run an RMI application, we have to start RMIRegistry

    and we are using rmic compiler to create stubs and skeleton.

    **************** E N D ********

    59

  • 8/8/2019 Core Java Notes

    60/68

    Swing Swing is an extension of AWT components in Java. Eventhough Java is platform independent language AWT

    components are platform dependent.Hence the look and feelof AWT Components varies from one operating system to

    other. Swing components are platform independent and hencelook and feel of these components is same on all operating

    systems.In addition Swing includes have more features such

    as TabbedPanes,Trees,Tables etc

    In Swing the visible components starts with J and thesuper class of all components is JComponent.

    Some of the important Components in Swing are

    JLabel

    JButton

    JCheckBox

    JRadioButton

    JCombobox

    JListJScrollPane

    JTextField

    JPassword

    JTextArea

    JOptionPane

    JTable

    JTree

    JTabbedPane

    NOTE:

    We have to import java.awt and javax.swing package to write

    Swing programs

    All the above Swing Components extends JApplet.

    60

  • 8/8/2019 Core Java Notes

    61/68

    The main difference between Applet and JApplet is,in Applet

    we are directly adding components to the Applet where as in

    JApplet we are adding components to the ContentPane.

    JApplet:Swing version of Applet.All swing visible

    components extends JApplet

    Icons and Labels:

    InSwing,icons are encapsulated by the ImageIcon class.Two

    of its constructors are

    ImageIcon(String filename) where filename is the name of

    the image

    ImageIcon(URL url) where url is the location of the image.

    JLabel:

    We can create an object of a JLabel component by using the

    constructor

    JLabel() which is an empty constructor

    JLabel(String s) where s is the name of the label

    JTextField :

    We can create an object of a TextField in swing by using the

    constrcuctors

    JTextField(int width) where width is the width of the text

    field

    JTextField(String s) where s is a String displayed in the text

    61

  • 8/8/2019 Core Java Notes

    62/68

    field.

    JButton :

    We can create an object of a Button in swing by using the

    constructors

    JButton() where it creates a button without any name

    JButton(String s) where it creates a button where s is its

    name

    JComboBox :

    It is similar to Choice in AWT.

    We can create an object of a JComboBox by using its

    default constructor.

    JComboBox()

    We can add item to the combo box by using

    addItem(Object obj) method

    TabbedPane :

    It is a component that appears as a group of folders in a file

    cabinet.Each folder has a title.When a user selects a folder,

    its contents become visible.Only one of the folder is selected

    at a time.Tabbed panes are generally used for configuration

    options.

    We can create an object of a Tabbed Pane by using the class

    62

  • 8/8/2019 Core Java Notes

    63/68

  • 8/8/2019 Core Java Notes

    64/68

    JDBC(Java Data Base Connectivity)

    Jdbc is a technology used to connect a Java program to any

    data base.

    We have to import java.sql package for writing JDBC

    programs in Java

    Types of Drivers used in JDBC :

    There are four types of drivers supplied by Sun

    Micro Systems to connect a Java Program to any data

    base.

    They are :

    Type I:

    JDBC-ODBC Bridge Driver

    Type II

    Native protocol partly Java Driver

    Type III

    Net protocol pure Java Driver

    Type IV

    Native protocol pure Java Driver

    Above all Jdbc-Odbc Bridge Driver is the

    64

  • 8/8/2019 Core Java Notes

    65/68

    simplest Driver used to connect to any data base.

    Steps in writing a JDBC program:

    The following steps are followed while writing a JDBC

    program.

    Step 1:

    Loading the driver.The statement used for this step is

    Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);

    Step 2:Getting the Connection object

    Connection

    con=DriverManager.getConnection(jdbc:odbc:dsn,scott,

    tiger); which is used to connect to Oracle data base

    Step 3:Creating the Statement object

    Statement st=con.createStatement();

    Step 4:

    Using the sql statements

    int i=st.executeUpdate(CREATE TABLE ECEStudent(rnonumber,name varchar(10)));

    /*Writng a JDBC program which is used to create a table

    65

  • 8/8/2019 Core Java Notes

    66/68

  • 8/8/2019 Core Java Notes

    67/68

    catch(Exception e)

    {

    System.out.println(Error is +e);

    }

    }

    }

    **************** E N D ***********

    67

  • 8/8/2019 Core Java Notes

    68/68