Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
JAVA Introduction Started by 5 people called James Gosling, Patrick Naughton, Mike Sheridan,Chris Warth ,Ed Frank. . Object Oriented . Internet Supported . Allow us to design Applications and Applets . Supports Distributed and Network Applications . Supports Multimedia . Compiler and Interpret based . Platform independent and secure . Multi threaded and Dynamic Features removed from JAVA Type definitions and preprocessor directives Structures and unions Multiple inheritance and goto statements Operator overloading and pointers Functions and Enums First Java Program Class First { public static void main(String args[]) { System.out.println (“Welcome”); } } Save File as First.java Compile as javac First.java Run as java First Java Platform JVM Java program compiler Byte code Machine Dependent Code Comments in JAVA // Double slashes /* C – Style slashes */ /* ----------------------------------------------------------- */ Built in Data Types in JAVA . Short short integer 16 bit . Int integer 32 bit . Float single precision 32 bit . Long long integer 64 bit . Double double precision 64 bit . Boolean true or false 1 bit . String (derived) all types of data Classes and Objects public class Employee { String eName; String eAdd; public Employee() { eName = “pradeep”; eAdd = “Vizag”; } public void display() { System.out.println(“Name is : “+eName); System.out.println(“Address is : “+eAdd); } public static void main(String args[]) { Employee e = new Employee(); e.display(); } } Parameter passing method to function public class Employee { float annsal = 40000f; public void incsal(int bonus) { annsal = annsal+bonus; } public static void main(String args[]) { Employee e = new Employee(); e.incsal(1000); System.out.println(e.annsal); } } Using if statement Public class Employee { int age; public boolean checkage() { if (age > 60) return false; else return true; } public static void main(String args[]) { Employee e = new Employee(); e.age = 78; if (e.checkage()== false) { System.out.println(“Employee retired”); } } } Arrays and For loop demo class oneDarr { public static void main(String args[]) { int a[] = {10,20,30},i; // int a[]; // a = new int[3]; // a[0] = 10; // a[1] = 20; // a[2] = 30; for(i = 0;i < a.length;i++) { System.out.println(“value is : “+a[i]); } } class twoDarr { public static void main(String args[]) { int a[] [] = {{10},{10,11},{10,11,12}},I,k=10; // int a[] []; // a = new int[3] []; // a[0] = new int[1]; // a[1] = new int[2]; // a[2] = new int[3]; /* for(i = 0;i < a.length;i++) { for(j = 0;j < a[i].length;j++) { a[i][j] = k; k++; } */ } for(i = 0;i < a.length;i++) { for(j = 0;j < a[i].length;j++) { System.out.println(“value is : “+a[i][j]); } System.out.println(); } } } Array and for loop demo public class Employees { Employee earr[]; public Employees() { earr = new Employee[2]; for(int ctr = 0;ctr<earr.length;ctr++) { earr[ctr] = new Employee(); } earr[0].eName = “pradeep”; earr[0].ePh = “9490074915”; earr[1].eName = “srikanth”; earr[1].ePh = “9949252414”; } public void display() { for(int ctr = 0;ctr < earr.length;ctr++) { earr[ctr].display(); } } public static void main(String args[]) { Employees emp = new Employees(); emp.display(); } } Constructors Demo class Employee { int eno; String ename; Employee(int x, String y) { eno = x; ename = y; } void dispeno() { System.out.println(“Sno is :”+sno); } void dispename() { System.out.println(“Name is :”+sname); } void display() { this.dispeno(); this.dispename(); } } class test { public static void main(String args[]) { Employee e = new Employee(12,”pradeep”); e.display(); } } Overloading Constructors class Employee { int eno; String ename; Employee() { eno = 11; ename = “pradeep”; } Employee(int x, String y) { eno = x; ename = y; } void disp() { System.out.println(“sno :”+sno+”\nsname :”+sname); } public static void main(String args[]) { Employee e = new Employee(); e.disp(); Employee e1 = new Employee(12,”srikanth”); e1.disp(); } } Constructor to a Constructor class Employee { int eno; String ename; Employee() { this(11,”pradeep”); } Employee(int x, String y) { this.eno = x; this.ename = y; } void disp() { System.out.println(“sno :”+sno+”\nsname :”+sname); } public static void main(String args[]) { Employee e = new Employee(); e.disp(); Employee e1 = new Employee(12,”srikanth”); e1.disp(); } } Static Members class Demo { int x,y; static int z=77; public static void main(String args[]) { System.out.println(“val of z :”+Demo.z); Demo d = new Demo(); d.x=10; d.y=20; d.z=99; System.out.println(“val of x :”+d.x+”\nval of y :”+d.y+“\n val of z :”+d.z); Demo d1 = new Demo(); System.out.println(“val of z :”+Demo.z); System.out.println(“val of z :”+d1.z); } Static Member Functions class Demo { int x,y; static int z=77; void display() { System.out.println(“val of x :”+d.x+”\nval of y :”+d.y); } static void print() { System.out.println(“ val of z :”+d.z); } public static void main(String args[]) { System.out.println(“val of z :”+Demo.z); Demo d = new Demo(); d.x=10; d.y=20; d.z=99; d.display(); d.print(); Demo d1 = new Demo(); d1.display(); d1.print(); } Overloading Methods class Areas { int b=10,h=20; void area() { int res = (0.5*b*h); System.out.println(“Area of Triangle is : “+res); } void area(int l) { int res = (l*b*h); System.out.println(“Area of Rectangle is : “+res); } public static void main(String args[]) { Areas a = new Areas(); a.area(); a.area(30); } } Call by value or reference class A { int x,y; } class B { public static void fun1(int x,int y) { x = x + 10; y = y + 20; } public static void fun2(A a) { a.x = a.x + 10; a.y = a.y + 20; } } class test { public static void main(String args[]) { int x=10,y=20; A a = new A(); a.x = 10; a.y = 20; System.out.println(“Before :”+x+” “+y); System.out.println(“Before :”+a.x+” “+a.y); B.fun1(x,y); B.fun2(a); System.out.println(“Before :”+x+” “+y); System.out.println(“Before :”+a.x+” “+a.y); } } Objects as Parameters class Time { int h,m; Time(int x,int y) { h = x; m = y; } Time addtime(Time x,Time y) { Time res = new Time(); res.h = x.h + y.h; res.m = x.m + y.m; return res; } void display() { System.out.println(h+” : “+m); } public static void main(String args[]) { Time t1 = new Time(2,20); Time t2 = new Time(3,20); Time t3 = new Time(); t3.addtime(t1,t2); t3.display(); } } Inner Classes it is a class which will be defined in another class If any changes made in the outer class those will be reflected in all its inner classes class outer { int outvar = 10; // the above value can be used in all inner classes and also in sub classes void outfun() { inner in = new inner1(); in.infun(); } class inner { int invar = 100; // can be accessed only in this class void infun() { System.out.println(“inner class function”); System.out.println(“Accessing outer var : “+outvar); } } } class test { public static void main(String a[]) { outer out = new outer(); out.outfun(); } } Inheritance . Creation of classes from existed classes in order to reduce coding . Class which is ihherited is super and which inherting that is sub class . We are using extends key word to do this process . We may have multilevel but not multiple inheritance class person { int no; String name; } class student extends person { String scname; void accept() { no = 10; name = “vinay”; scname = “St,peters school”; } void display() { System.out.println(“\n Student No : “+no+”\n Student Name : “+name+”\n School Name : “+scname); } } class employee extends person { String cname; void accept() { no = 101; name = “Alex”; cname = “Webpros pvt”; } void display() { System.out.println(“\n Employee No : “+no+”\n Employee Name : “+name+”\n Company Name : “+cname); } } class test { public static void main(String a[]) { student s = new student(); employee e = new employee(); s.accept() s.display(); e.accept(); e.display(); } } Access using Super keyword class A { int x; void display() { System.out.println(“x value of A : “+x); } } class B extends A { int x; B(int a,int b) { super.x = a; this.x = b; } void display() { super.display(); System.out.println(“x value of B : “+x); } } class test { public static void main(String a[]) { B b = new B(10,20); b.display(); } } Constructors in Inheritance . Super class constructors invoked first than sub class . If there are no of super classes and then constructors will be executed in the order of the inheritance (from bottom to top) . We can call super class constructors from sub class constructors using super keyword . But we must call super constructor first in their order. class A { int x,y; A(int x,int y) { this.x = x; this.y = y; } } class B extends A { int z; B(int a,int b,int c) { super(a,b); this.z=c; } void display() { System.out.println(“values are : “+x+y+z); } } class test { public static void main(String a[]) { B b = new B(10,20,30); b.display(); } } Overridden Methods . When super and sub class method are sharing the same name then those methods are overridden class A { void f1() { } } class B extends A { void f1() { } } A a = new A(); B b = new B(); a.f1(); b.f1(); // both calls class A f1() // so we have reference technology using which we can access the individual functions A rf; rf = a; rf.f1(); rf = b; rf.f1(); Dynamic Method Dispatch System.in.read() : which reads single char from keyboard and returns a ascii code of that Ex : int ch = System.in.read(); System.out.println(ch); And also we can apply type cast : char ch = (char) System.in.read(); class person { void accept() { } void display() { } } class student extends person { int sno;String sname,scname; void accept() { sno = 10; sname = “vinay”; scname = “St,peters”; } void display() { System.out.println(“Student Details : “+sno+” “+sname+” “+scname); } } class employee extends person { int eno;String cname; void accept() { eno = 101; ename = “Alex”; } void display() { System.out.println(“\n Employee No : “+no+”\n Employee Name : “+name); } } class test { public static void main(String a[]) { char ch; person r; System.out.println(“Enter 1 : Student 2 : Employee\n”); ch = (char) System.in.read(); if (ch==‘1’) r = new student(); else r = new employee(); r.accept(); r.display(); } } Final Keyword Final keyword : the final can be used with members ,methods and classes When used by the members they become constants we can’t update Final methods can’t be override Final classes can’t be extended to any other classes Abstract Classes and Methods When a function of a super class is used only for overriding purpose but it does’t contains any statements then those can be prefixed by the keyword called abstract When a class contains at least one abstract fun then that class must be made as abstract When a class is extending any abstract class then it must override all the abstract methods of that class We can’t create objects to abstract class but we can create reference var abstract class AC { abstract void f1(); abstract void f2(); } class demo extends AC { void f1() { System.out.println(“Hi”); } void f2() { System.out.println(“Hello”); } } class test { public static void main(String a[]) { demo d = new demo(); d.f1(); d.f2(); AC r; r = new demo(); r.f1(); r.f2(); } } interface common { void f1(); void f2(); } class demo implements common { public void f1() { System.out.println(“Hi”); } public void f2() { System.out.println(“Hello”); } } class test { public static void main(String a[]) { demo d = new demo(); d.f1(); d.f2(); common r; r = new demo(); r.f1(); r.f2(); } } Multiple implements interface A { abstract void f1(); } interface B { abstract void f2(); } class demo implements A,B { public void f1() { System.out.println(“Hi”); } public void f2() { System.out.println(“Hello”); } } class test { public static void main(String a[]) { demo d = new demo(); d.f1(); d.f2(); A a; a = new demo(); a.f1(); B b; b = new demo(); b.f2(); } } Extended Interfaces interface A { abstract void f1(); } interface B extends A { abstract void f2(); } class demo implements B { public void f1() { System.out.println(“Hi”); } public void f2() { System.out.println(“Hello”); } } class test { public static void main(String a[]) { demo d = new demo(); d.f1(); d.f2(); A a; a = new demo(); a.f1(); B b; b = new demo(); b.f2(); } } Exception Handling . Exception is error which comes at run time . When ever run time error occurs corresponding object will be created and it will be thrown we have to handle it by using keywords like 1.Try 2.catch 3.throw 4.finally 5.throws . All the statements should be written in try block and when ever exception is occurred it should be caught by catch block, each catch can handle one type of exception Syntax try { statements } catch (exception-type name) { statements } finally { statements } try - catch blocks class Trycatch { static int arr[]={10,20,30}; public static void main(String ar[]) { display(0); display(1); display(2); display(5); } static void display(int n) { try { System.out.println(“Value is : “+arr[n]); } catch (ArithmeticException ex) { System.out.println(“Arithmetic Error”); } catch (ArrayIndexOutOfBoundsException ex) { System.out.println(“invalid index passing as parameter”); } catch (ArrayStoreException ex) { System.out.println(“Invalid array”); } } } Types of Exceptions . Enforced and checked exceptions . Checked exceptions are those which compiler forces to catch (IOExceptions) . And forced exceptions are thrown at run time ex. Invalid logic or input . Non recoverable are errors (out of memory ) and recoverable are exceptions (file not found, null pointer exception . We can have multiple catches to handle multiple exceptions Example try-throw-catch class ttc { static void f1(int n) { if(n == 0) throw new ArithmeticException(); if(n < 0) throw new NegativeArraySizeException(); else System.out.println(“OK”); } public static void main(String a[]) { try { f1(2); f1(-1); f1(0); } catch(AritameticException ex) { System.out.println(“Arithmetic error occured”); } catch(NegativeArraySizeException ex) { System.out.println(“invalid size of array”); } } } Instanceof keyword class ttc { static void f1(int n) { if(n == 0) throw new ArithmeticException(); if(n < 0) throw new NegativeArraySizeException(); else System.out.println(“OK”); } public static void main(String a[]) { try { f1(2); f1(-1); f1(0); } catch(Exception ex) { if(ex instanceof ArithmeticException) System.out.println(“Arithmetic error”); else if(ex instanceof NegativeArraySizeException) System.out.println(“invalid array index”); } } } Finally block It can placed immediately after try or after all the catch blocks Used to execute statements even if an exceptions is thrown or not try { } finally() { } try { } catch() { } catch() { } finally() { } throws can be used to throw all types of exceptions and we have write this after parameter passing of method and we may have multiple classes separated by comma with this Ex : public static void main(String a[]) throws Exception,IOException User defined Exceptions class myex extends Exception { String msg; myex() { msg = “Array Exception”; } public String sam() { return msg; } } class ttc { static void f1(int n) { if(n < 0) throw new myex(); else System.out.println(“OK”); } public static void main(String a[]) { try { f1(2); f1(-1); f1(0); } catch(myex ex) { System.out.println(ex); } } } Application vs Applet Application Hard Disk Internal Memory (RAM ) Applet Remote system Local System Types of Applications CUI GUI About Applet Applet : An Applet is a program designed in java and will be placed on the server. The applet will be downloaded from remote system to local and then it will be interpreted and it will run as a part of web program in the browsers like internet explorer 4.0 or netscape navigator AWT : (Abstract Window Toolkit ) Is a collection of classes which provides graphical components like buttons, textboxes and many more To create an applet we need to extend applet class into another class About Applet When ever applet program is being loaded in the web browser , the browser calls the following methods of applet .we can override those methods when ever we needed 1. public void init() : will be called when applet is loaded for first time in the browser 2. public void start() : called after init ,this will be called every time when doc containing that applet is loaded 3. public void stop() : when next doc is loaded 4. public void destroy() : called when corresponding browser is closed 5. public void paint (Graphics g) : will be called when output must be redrawn, accepts graphic class as parameter Simple Applet Import java.applet.*; Import java.awt.*; public class sapplet extends Applet { public void init() { setBackground(Color.red); } public void paint(Graphics g) { g.setFont(new Font(“Arial”,Font.BOLD,20); g.setColor(Color.white); g.drawString(“Simple Applet Demo”,100,100); } } The above program should be saved as sapplet.java and following code should be written inorder view this applet on browser <html> <applet code=“sapplet.class” width=400 height=400> </applet> </html> The code should be written in a file and saved as sapplet.html Draw a shape on Applet Import java.applet.*; Import java.awt.*; public class shape extends Applet { public void init() { setBackground(Color.black); } public void paint(Graphics g) { Dimention d = getsize(); int w = d.width; int h = d.height; g.setColor(Color.red); g.drawRect(4,4,w-4,h-4); g.drawOval(8,8,w-16,h-16); g.setFont(new Font(“Arial”,Font.BOLD,20); g.setColor(Color.white); g.drawString(“Simple Applet Demo”,100,100); } } AWT( Abstract Window Toolkit ) Component class : it is a super class for all types of components and by using which we can create different components and we can place them on applet directly Component Button Text component – Text field – Text area Label Check box Scrollbar Choice List Container – Panel – Window » Frame » Dialog box Component class methods void setBackground(Color color) void setForeground(Color color) void setEnable(Boolean enables) void setVisible(Boolean visible) void setSize(int width,int height) Creating User Interface Import java.applet.*; Import java.awt.*; public class ui extends Applet { Label l1,l2,l3; TextField t1,t2; Button b1,b2; Checkbox cb1,cb2; CheckboxGroup gen = new CheckboxGroup(); Choice c1; public void init() { setBackground(Color.black); l1 = new Label(“First Name”); l2 = new Label(“Last Name”); l3 = new Label(“Cource”); c1 = new Choice(); c1.add(“c lang”); c1.add(“c++ lang”); t1 = new TextField(35); t2 = new TextField(35); cb1 = new Checkbox(“Graduate”); cb2 = new Checkbox(“Post Graduate”); Checkbox o1 = new Checkbox(“Male”,gen,true); Checkbox o2 = new Checkbox(“Female”,gen,true); b1 = new Button(“Submit”); b2 = new Button(“Clear”); add(l1); add(t1); add(l2);add(t2);add(l3);add(c1);add(cb1) add(cb2);add(o1);add(o2);add(b1);add(b2); } Scrollbar Demo Used to select a value from given range of values Scrollbar() : creates vertical scrollbar Scrollbar(int style) : The style may be Scrollbar.HORIZONTAL or Scrollbar.VERTICAL Scrollbar (int style ,int initial value,int thumb size,int min,int max) void setValues(int initial,int thumb size,int min,int max) int getValue : returns the selected value void setValue(int val) : moves thumb to a specified value It can be handled by using AdjustmentListener interface.it contains public void adjustmentValueChanged(AdjustmentEvent e) import java.awt.*; import java.applet.*; import java.awt.event.*; public class scrolldemo extends Applet implements AdjustmentListener { Scrollbar red = new Scrollbar(Scrollbar.HORIZONTAL,0,100,0,355); Scrollbar green = new Scrollbar(Scrollbar.HORIZONTAL,0,100,0,355); Scrollbar blue = new Scrollbar(Scrollbar.HORIZONTAL,0,100,0,355); Label l1 = new Label(); public void init() { setLayout(new GridLayout(4,1)); add(l1); add(red); add(green); add(blue); red.addAdjustmentListener(this); green.addAdjustmentListener(this); blue.addAdjustmentListener(this); } public void adjustmentValueChanged(AdjustmentEvent e) { int r = red.getValue(); int g = green.getValue(); int b = blue.getValue(); Color nc = new Color(r,g,b); l1.setBackground(nc); showStatus("RED : "+r+"GREEN : "+g+"BLUE : "+b); } } Layout Management It specifies how the components should be aligned, sized, positioned AWT supports five types of layouts . Flow Layout . Border Layout . Grid Layout . Card Layout . Grid Bag Layout Based on the requirement we have to choose them Flow Layout Components are arranged in row order if there is no space in the current row then they will be placed in next row This is a default layout for applets and panels FlowLayout() FlowLayout(int align)//FlowLayout.CENTER is default FlowLayout(int style,int vspace,int hspace); Border Layout In this when ever we are adding a component we have to specify its direction BorderLayout contains default as CENTER If u want to change BorderLayout.EAST BorderLayout.WEST BorderLayout.NORTH BorderLayout.SOUTH Default layout for frames and dialogs Grid Layout : in this total area is divided into rows and columns each component is kept at each cell GridLayout(int rows,int cols) GridLayout(int r,int c,int vs,int hs) Panel Layout : in general it can be used as container of components and also some other panels Each panel can have diff background color And can have diff layout for each panel Card Layout We may no of cards with different layouts and with different controls They are overlapped one on another Selected card should be shown and it is identified by its card name Grid Bag Layout Best and accurate than other layouts Uses GridBagConstraints to set height, width, positions of each component Total area is divided into rows columns and each component can occupy more cells gbl.setConstraints(<component>,gbc)