Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PGM: JTM1P1 Objective: To Show The Use of System - In.read Method

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 19

The following programs have to be used along with Java course material.

Each of these programs illustrate a particular point/objective. JT M1 M2 & M3 M4 M5 M6 M7 M8 & M9 Java Training OOPs and Environment Language Elements Input / Output OOPs Using Java Web Programming Windows Programming Advanced topics

1. Pgm: JTM1P1 Objective: To show the use of System.in.read() method. //Import java.io for read method. import java.io.*; public class MyCat { public static void main(String args[]) throws IOException { int b; // Key values are received as ascii ints. // read() throws IOException but is not caught. while((b=System.in.read()) != 65) { //Output the character read System.out.print((char)b); } //Output a blank line System.out.println(); } } Pgm: JTM1P2 Objective: To understand the use of static modifier. Note that those static blocks without any name / parameter /or mdifier will be executed before even main method. public class UnderstandingStaticDemo { static int length = 10; static int width = 20; static int height = 30; static int volume,area; public static void main(String a[]) { System.out.println("This is main method."); callStaticMethod(42); } static void callStaticMethod(int x)

{ System.out.println("This is static method."); System.out.println("area : "+area); System.out.println("volume :"+volume); } static { System.out.println("This is static first block."); area = length * width; } static { System.out.println("This is static second block."); volume = area * height; } } //OUTPUT: //This is static first block. //This is static second block. //This is main method. //This is static method. //area : 200 //volume :6000 Pgm-JTM1P3 Obejective: // Calling Static methods/variables in different classes through the class names itself. class Box { static int length=10; static int width=20; int height=30; static void area() { System.out.println("The area is :" + length*width); } void volume() { System.out.println("The volume is :" + length*width*height); } } public class StaticMethodCallDemo { public static void main(String args[]) { Box.area(); System.out.println("The length is : " + Box.length);

System.out.println("The width is : " + Box.width); // Box.volume(); // Error. You cannot refer to a non-static method like this. Box obj=new Box(); // You have to instantiate an object obj.volume(); // Access a non-static method through the object obj.area(); // You can access a static method also like this. } } //OUTPUT: //The area is :200 //The length is : 10 //The width is : 20 //The volume is :6000 //The area is :200

Pgm : JTM5P1 class SimpleClass { int intVar; float floatVar; double doubleVar; SimpleClass(int i,float f,double d) { intVar=i; floatVar=f; doubleVar=d; System.out.println("SimpleClass(int i,float f,double d)"); } SimpleClass(int i,float f) { intVar=i; floatVar=f; doubleVar=0; System.out.println("SimpleClass(int i,float f)"); } SimpleClass(int i) { intVar=i; floatVar=0; doubleVar=0; System.out.println("SimpleClass(int i)"); } SimpleClass(float f) { intVar=0; floatVar=f; doubleVar=0; System.out.println("SimpleClass(float f)"); }

SimpleClass(double d) { intVar=0; floatVar=0; doubleVar=d; System.out.println("SimpleClass(double d)"); } SimpleClass() { intVar=0; floatVar=0; doubleVar=0; System.out.println("SimpleClass()"); } } public class OverLoadedConstructorsDemo1 { public static void main(String args[]) { SimpleClass SC1=new SimpleClass(10,9.81f,1.11); SimpleClass SC2=new SimpleClass(10,9.81f); SimpleClass SC3=new SimpleClass(10); SimpleClass SC4=new SimpleClass(9.81f); SimpleClass SC5=new SimpleClass(1.11); SimpleClass SC6=new SimpleClass(); } } //Output: //SimpleClass(int i,float f, double d); //SimpleClass(int i,float f); //SimpleClass(int i); //SimpleClass(float f); //SimpleClass(double d); //SimpleClass(); Pgm: JTM5P2 // Avoiding zero assignment as java does it for you class SimpleClass { int intVar; float floatVar; double doubleVar; SimpleClass(int i,float f,double d) { intVar=i; floatVar=f; doubleVar=d; System.out.println("SimpleClass(int i,float f,double d)"); }

SimpleClass(int i,float f) { intVar=i; floatVar=f; System.out.println("SimpleClass(int i,float f)"); } SimpleClass(int i) { intVar=i; floatVar=0; doubleVar=0; System.out.println("SimpleClass(int i)"); }

SimpleClass(float f) { intVar=0; floatVar=f; doubleVar=0; System.out.println("SimpleClass(float f)"); } SimpleClass(double d) { intVar=0; floatVar=0; doubleVar=d; System.out.println("SimpleClass(double d)"); } SimpleClass() { intVar=0; floatVar=0; doubleVar=0; System.out.println("SimpleClass()"); } } public class OverLoadedConstructorsDemo1 { public static void main(String args[]) { SimpleClass SC1=new SimpleClass(10,9.81f,1.11); SimpleClass SC2=new SimpleClass(10,9.81f); SimpleClass SC3=new SimpleClass(10); SimpleClass SC4=new SimpleClass(9.81f); SimpleClass SC5=new SimpleClass(1.11); SimpleClass SC6=new SimpleClass(); } } //Output:

//SimpleClass(int i,float f, double d); //SimpleClass(int i,float f); //SimpleClass(int i); //SimpleClass(float f); //SimpleClass(double d); //SimpleClass(); Pgm: JTM5P3 // Use of 'this' keyword to refer to the same class constructor class SimpleClass { int intVar; float floatVar; double doubleVar; SimpleClass(int i,float f,double d) { intVar=i; floatVar=f; doubleVar=d; System.out.println("SimpleClass(int i,float f,double d)"); } SimpleClass(int i,float f) { this(9.81); intVar=i; floatVar=f; System.out.println("SimpleClass(int i,float f)"); } SimpleClass(int i) { intVar=i; System.out.println("SimpleClass(int i)"); } SimpleClass(float f) { floatVar=f; System.out.println("SimpleClass(float f)"); } SimpleClass(double d) { doubleVar=d; System.out.println("SimpleClass(double d)"); } SimpleClass() { this(10,1.11f,9.81); System.out.println("SimpleClass()"); }

} public class OverLoadedConstructorsDemo1 { public static void main(String args[]) { SimpleClass SC1=new SimpleClass(10,9.81f,1.11); SimpleClass SC2=new SimpleClass(10,9.81f); SimpleClass SC3=new SimpleClass(10); SimpleClass SC4=new SimpleClass(9.81f); SimpleClass SC5=new SimpleClass(1.11); SimpleClass SC6=new SimpleClass(); } } //Output: //SimpleClass(int i,float f, double d); //SimpleClass(double d); //SimpleClass(int i,float f); //SimpleClass(int i); //SimpleClass(float f); //SimpleClass(double d); //SimpleClass(int i,float f, double d); //SimpleClass(); Pgm: JTM5P4 // Passing the same class object as an argument in the class method. class MyClass { int i,j; MyClass(int x,int y) { i=x; j=y; } boolean equals(MyClass MC) { if(MC.i==i && MC.j==j) return true; else return false; } } public class ObjectsAsParametersDemo { public static void main(String args[]) { MyClass MC1=new MyClass(10,20); MyClass MC2=new MyClass(10,20); MyClass MC3=new MyClass(1,2); System.out.println("MC1==MC2 ? " + MC1.equals(MC2));

System.out.println("MC1==MC3 ? " + MC1.equals(MC3)); } } //Output: //MC1==MC2 ? true //MC1==MC3 ? false Pgm : JTM5P5 class MyClass { int a; MyClass(int i) { a=i; } MyClass multiply() { MyClass temp=new MyClass(a*10); return temp; } } public class ReturningObjectDemo { public static void main(String a[]) { MyClass obj1=new MyClass(2); MyClass obj2=obj1.multiply(); MyClass obj3=obj2.multiply(); System.out.println("obj1.a = " + obj1.a); System.out.println("obj2.a = " + obj2.a); System.out.println("obj3.a = " + obj3.a); } } //OUTPUT: //obj1.a =2 //obj2.a =20 //obj3.a =200 Pgm - JTM5P6 // Public Private Access Specifier class Box { int length; public int width; private int height;

void setHeight(int i) { height=i; } int getHeight() { return height; } } public class PublicPrivateAccessDemo { public static void main(String args[]) { Box obj = new Box(); obj.length=10; obj.width=20; // obj.height = 30; // Error ! U can't access private variables // U can access private variables thro' public methods obj.setHeight(30); System.out.println("length, width and height : "+obj.length+":"+obj.width+ ":"+obj.getHeight()); } } // OUTPUT: // length, width and height : 10:20:30 Pgm-JTM5P7 // A simple inheritance example: Accessing // super class variables and methods from the sub class class SuperClass { int superInt; double superDouble; void printSuperVariable() { System.out.println("superInt = " + superInt + " superDouble = " + superDouble); } } class SubClass extends SuperClass { boolean subBoolean; void printSubVariable() { System.out.println("subBoolean = " + subBoolean); } } class SimpleInheritance1

{ public static void main(String args[]) { SuperClass sup=new SuperClass(); SubClass sub=new SubClass(); sup.superInt=10; sup.superDouble=9.81; sup.printSuperVariable(); sub.superInt=100; sub.superDouble=98.1; sub.subBoolean=true; sub.printSuperVariable(); sub.printSubVariable(); } } //Output: //superInt = 10 superDouble = 9.81 //superInt = 100 superDouble = 98.1 //subBoolean = true

Pgm-JTM5P8 // A simple Inheritance Example: Declaring the same super class variable in the sub-class class SuperClass { int superInt=0; double superDouble; void printSuperVariable() { System.out.println("\nSUPER CLASS: "); System.out.println("superInt = " + superInt); System.out.println("superDouble = " + superDouble); } } class SubClass extends SuperClass { int superInt; boolean subBoolean; void printSubVariable() { System.out.println("\nSUB CLASS: "); System.out.println("subBoolean = " + subBoolean); System.out.println("superInt = " +superInt); } } class SimpleInheritance2 {

public static void main(String args[]) { SuperClass sup= new SuperClass(); SubClass sub=new SubClass(); sup.superInt=10; sup.superDouble=9.81; sup.printSuperVariable(); sub.superInt=100; sub.superDouble=98.1; sub.subBoolean=true; sub.printSuperVariable(); sub.printSubVariable(); } } //OUTPUT : //SUPER CLASS: //superInt = 10 //superDouble = 9.81 // //SUPER CLASS: //superInt = 0 //superDouble = 98.1 // //SUB CLASS: //subBoolean = true //superInt = 100 Pgm-JTM5P9 // Assignment of object references in three different styles // super class object = sub class object; -->No problem // sub class object = super class object; -->Compiler error // sub class object = (sub class casting)super class object; -->Runtime error class SuperClass { int superInt; float superFloat; float multiply() { return superInt*superFloat; } } class SubClass extends SuperClass { SubClass(int i, float f) { superInt=i; superFloat=f; }

} class SimpleInheritance3 { public static void main(String a[]) { SuperClass sup=new SuperClass(); SubClass sub=new SubClass(10,1.56f); float subtemp=sub.multiply(); System.out.println("Point 1: "+subtemp); subtemp=sup.multiply(); System.out.println("Point 2: "+subtemp); sup=sub; //No Problem. subtemp=sup.multiply(); System.out.println("Point 3: "+subtemp); // sub=sup; //Compile Time Error. //sub=(SubClass)sup; //Run Time Exception. } } //OUTPUT : //Point 1: 15.599999 //Point 2: 0.0 //Point 3: 15.599999 Pgm-JTM5P10 // Constructors Inheritance Demo: // Finding out what constructors are being called by default, // if you instantiate a sub class class SuperClass { int superInt; SuperClass() { System.out.println("SuperClass()"); } SuperClass(int i) { System.out.println("SuperClass(int i)"); } } class SubClass extends SuperClass { double subDouble; SubClass() { System.out.println("SubClass()");

} SubClass(double d) { System.out.println("SubClass(double d)"); } } public class ConstructorInheritance { public static void main(String A[]) { System.out.println("SuperClass sup1=new SuperClass()"); SuperClass sup1=new SuperClass(); System.out.println(); System.out.println("SuperClass sup2=new SuperClass(10)"); SuperClass sup2=new SuperClass(10); System.out.println(); System.out.println("SubClass sub1=new SubClass()"); SubClass sub1=new SubClass(); System.out.println(); System.out.println("SubClass sub2=new SubClass(20)"); SubClass sub2=new SubClass(20); // U can't invoke a superclass constructor. System.out.println(); // It will type cast it to double. System.out.println("SubClass sub3=new SubClass(9.81)"); SubClass sub3=new SubClass(9.81); System.out.println(); } } //OUTPUT : //SuperClass sup1=new SuperClass() //SuperClass() // //SuperClass sup2=new SuperClass(10) //SuperClass(int i) // //SubClass sub1=new SubClass() //SuperClass() //SubClass() // //SubClass sub2=new SubClass(20) //SuperClass() //SubClass(double d) // //SubClass sub3=new SubClass(9.81) //SuperClass() //SubClass(double d) Pgm- JTM5P11

// Constructor Inheritance Demo: Using 'this' and 'super' keywords for constructors // 'this' or 'super' should be first exceutable statement in a constructor // In a constructor, only one ('this' or 'super') should be present classSuperClass { int intVar; SuperClass() { this(0); System.out.println("SuperClass()"); } SuperClass(int i) { this.intVar=i; System.out.println("SuperClass(int i)"); } } class SubClass extends SuperClass { double doubleVar; SubClass() { super(); doubleVar=0.0; System.out.println("SubClass()"); } SubClass(int i,double d) { super(i); this.doubleVar=d; System.out.println("SubClass(int i,double d)"); } } public class SuperDemo1 { public static void main(String[] args) { System.out.println("SuperClass sup1=new SuperClass()"); SuperClass sup1=new SuperClass(); System.out.println(); System.out.println("SuperClass sup2=new SuperClass(10)"); SuperClass sup2=new SuperClass(10); System.out.println(); System.out.println("SubClass sub1=new SubClass()"); SubClass sub1=new SubClass(); System.out.println();

System.out.println("SubClass sub2=new SubClass(10,9.81)"); SubClass sub2=new SubClass(10,9.81); } } //OUTPUT: //SuperClass sup1=new SuperClass() //SuperClass(int i) //SuperClass() //SuperClass sup2=new SuperClass(10) //SuperClass(int i) //SubClass sub1=new SubClass() //SuperClass(int i) //SuperClass() //SubClass() //SubClass sub2=new SubClass(10,9.81) //SuperClass(int i) //SubClass(int i,double d) Pgm-JTM5P12 // Constructors Inheritance Demo: Using this and super keywords // for class instance variables. class SuperClass { int intVar; SuperClass() { intVar=10; System.out.println("SuperClass() : intvar = " + intVar); } SuperClass(int i) { intVar=i; System.out.println("SuperClass(int i) : intvar = " + intVar); } } class SubClass extends SuperClass { int intVar; SubClass() { super.intVar=25; this.intVar=35; System.out.println("SubClass() : super.intVar = " + super.intVar + " this.intVar = "+this.intVar); } SubClass(int i, int j)

{ super.intVar=i; this.intVar=j; System.out.println("SubClass() : super.intVar = " + super.intVar + " this.intVar = "+this.intVar); } } public class SuperDemo2 { public static void main(String a[]) { System.out.println("SuperClass sup1=new SuperClass()"); SuperClass sup1=new SuperClass(); System.out.println(); System.out.println("SuperClass sup2=new SuperClass(99)"); SuperClass sup2=new SuperClass(99); System.out.println(); System.out.println("SubClass sub1=new SubClass()"); SubClass sub1=new SubClass(); System.out.println(); System.out.println("SubClass sub2=new SubClass(199,299)"); SuperClass sub2=new SubClass(199,299); } } //OUTPUT: //SuperClass sup1=new SuperClass() //SuperClass() : intvar = 10 // //SuperClass sup2=new SuperClass(99) //SuperClass(int i) : intvar = 99 // //SubClass sub1=new SubClass() //SuperClass() : intvar = 10 //SubClass() : super.intVar = 25 this.intVar = 35 // //SubClass sub2=new SubClass(199,299) //SuperClass() : intvar = 10 //SubClass() : super.intVar = 199 this.intVar = 299 Pgm- JTM5P13 //Dynamic Method Dispatch Demo: Creating each class object separately class A { void show() { System.out.println("This is A Class show()"); } }

// // // // //

Classes A / \ B C |

// class B extends A { void show() { System.out.println("This is B Class show()"); } } class C extends A { void show() { System.out.println("This is C Class show()"); } } class D extends B { void show() { System.out.println("This is D Class show()"); } } class DynamicMethodDispatchDemo1 { public static void main(String[] args) { A aobj=new A(); B bobj=new B(); C cobj=new C(); D dobj=new D(); A ref; ref=aobj; ref.show(); ref=bobj; ref.show(); ref=cobj; ref.show(); ref=dobj; ref.show(); } } // OUTPUT: //This is A Class show() //This is B Class show() //This is C Class show() //This is D Class show()

Pgm-JTM5P14 // Overriding Demo : Converting onre of the subclass to a final class. // All methods in a final class are implicitly final // A final class cannot be subclassed. // Converting one subclass method as final method. A final method // cannot be overrriden abstract class Figure { double dim1; double dim2; abstract double area(); } final class Rectangle extends Figure { Rectangle(double a, double b) { dim1 = a; dim2 = b; } double area() { return dim1*dim2; } } final class Triangle extends Figure { Triangle(double a, double b) { dim1 = a; dim2 = b; } final double area() // Sub classes of triangle cannot override { // this method. return 0.5*dim1*dim2; } } class FinalClassDemo { static public void main(String a[]) { Figure fig[]=new Figure[3]; // Figure class doesn't do anything and // the describes the fundamental behavior // of future classes.

fig[0]=new Rectangle(2,5); fig[1]=new Triangle(5,6); System.out.println("Rectangle area = "+fig[0].area()); System.out.println("Triangle area = "+fig[1].area()); } } //OUTPUT : //Rectangle area = 10.0 //Triangle area = 15.0

You might also like