1 / 25

Intro to JAVA

Intro to JAVA. By: Riyaz Malbari. History of JAVA. Came into existence at Sun Microsystems, Inc. in 1991. Was initially called “ Oak ” but was renamed JAVA. Originally it was not developed for the Internet but as a software to be embedded in various consumer electronic devices.

doyle
Download Presentation

Intro to JAVA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Intro to JAVA By: Riyaz Malbari 04/07/04

  2. History of JAVA • Came into existence at Sun Microsystems, Inc. in 1991. • Was initially called “Oak” but was renamed JAVA. • Originally it was not developed for the Internet but as a software to be embedded in various consumer electronic devices. • Derives much of its character from C/C++. 04/07/04

  3. Applications a program that runs on the computer, under its operating system. it is like a normal program created using C/C++. Applets a tiny JAVA program that can be transmitted over the Internet. it is an intelligent program. Types of Programs 04/07/04

  4. Bytecode • output of a JAVA compiler is Bytecode. • executed by the JAVA run-time system, which is called the JAVA Virtual Machine (JVM). • creates truly portable programs. • assures security while downloading programs over the Internet. 04/07/04

  5. JAVA Virtual Machine 04/07/04

  6. Object-Oriented Programming The core of JAVA • Encapsulation • Inheritance • Polymorphism 04/07/04

  7. A simple program • /* A program to display the message Hello World. Call this file “hello.java”. */ class hello { // The program begins with a call to main(). public static void main (String args [ ]) { System.out.println (“Hello World.”) ; } } • save as text file hello.java • at command line type>javac hello.java • execute program by typing>java hello 04/07/04

  8. Data Types Type Size Range byte 8 bits -128 to 127 short 16 bits -32768 to 32767 int 32 bits -2147483648 to 2147483647 long 64 bits -9223372036854775808 to 9223372036854775807 float 32 bits 1.7e-308 to 1.7e308 double 64 bits 3.4e-038 to 3.4e038 char 16 bits 0 to 65536 boolean --------- true or false 04/07/04

  9. Variables • basic unit of storage • a combination of an identifier, a type and an optional initializer • Syntax: type identifier [=value][, identifier[=value],…]; • eg. int a,b,c; int d=4, e, f=7; byte w=12; double pi=3.14159; char x=‘x’; • Dynamic initialization: class DyIn { public static void main (String args[ ]) { double a=3.0, b=4.0 ; double c=Math.sqrt (a*a+b*b) ; // c is dynamically initialized System.out.println (“Hypotenuse is “ + c); } } 04/07/04

  10. Variable scope • scope is defined by a block { } • variables that are defined within the scope are not visible to the code that is defined outside the scope. • scopes can be nested • objects declared in the outer scope will be visible to code within the inner scope • eg. class Scope { public static void main (String args[ ]) { int x ; // known to all code within main x=10; if (x= =10) { int y=20; // known only to this block System.out.println (“x and y:” + x + ““ + y +) ; x=y*2; } y = 100; // y is unknown here and so there is a compile-time error } } • variables declared in the inner and outer scope cannot have the same name • eg. class scopeerr { public static void main (String args[ ]) { int a=10; { int a=20; // Compile-time error as variable ‘a’ is already defined } } } 04/07/04

  11. Arrays • collection of variables of the same data type addressed by a common name • an array element is accessed by its index • can have one or more dimensions • one-dimensional array: declaration: type var_name[ ]; eg. int month[]; allocation: var_name=new type[size]; eg. month = new int[12]; both can be done together: int month[ ] = new int[12]; assignment: month[0] = 31; month[1] = 28; • values can also be assigned during declaration: int month[ ] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; • Multi-dimensional arrays: int twoD[ ][ ] = new int[2][3]; 04/07/04

  12. Class • fundamental concept in JAVA • defines a data type which can be used to create objects of that type • class is a template for an object and object is an instance of a class • declared by the class keyword • Syntax: class classname type var; type methodname (parameter list) { // body of method } Instance variables Methods Class Members 04/07/04

  13. Example… • class Box { double width; double height; // This class declares an object of type Box. double depth; } class BoxDemo { public static void main (String args[ ]) { Box mybox = new Box(); // An object called mybox is created double vol; // Assign values to mybox’s instance variables. mybox .width = 10; mybox .height = 20; mybox .depth = 15; vol = mybox .width * mybox .height * mybox .depth; System.out.println (“The volume is “ + vol) ; } } • Save the file as BoxDemo.java • Compilation creates two .class files, one for Box and the other for BoxDemo • Execute the BoxDemo.class file 04/07/04

  14. changing the instance variables of one object have no effect on that of another • class Box { double width; double height; double depth; } class BoxDemo { public static void main (String args[ ]) { Box mybox1 = new Box(); Box mybox2 = new Box(); double vol; mybox1 .width = 10; mybox1 .height = 20; mybox 1.depth = 15; mybox2 .width = 3; mybox2 .height = 6; mybox2 .depth = 9; vol = mybox1 .width * mybox1 .height * mybox1 .depth; System.out.println (“The volume is “ + vol) ; vol = mybox2 .width * mybox2 .height * mybox2 .depth; System.out.println (“The volume is “ + vol) ; } } 04/07/04

  15. adding a method to the box class… • class Box { double width; double height; double depth; void volume() { System.out.println (“Volume is ” + (width * height * depth)) ; } } class BoxDemo { public static void main (String args[ ]) { Box mybox = new Box(); double vol; mybox .width = 10; mybox .height = 20; mybox .depth = 15; mybox .volume(); } } 04/07/04

  16. Returning a value… • class Box { double width; double height; double depth; double volume() { return width * height * depth ; } } class BoxDemo { public static void main (String args[ ]) { Box mybox = new Box(); double vol; mybox .width = 10; mybox .height = 20; mybox .depth = 15; vol = mybox .volume(); System.out.println (“Volume is “ + vol) ; } } 04/07/04

  17. Constructors • initializes the object immediately upon creation • has the same name as that of the class • class Box { double width; double height; double depth; Box() { // A constructor for the Box class width = 10; height = 20; depth = 15; } double volume() { return width * height * depth ; } } class BoxDemo { public static void main (String args[ ]) { Box mybox = new Box(); double vol; vol = mybox .volume(); System.out.println (“Volume is “ + vol) ; } } 04/07/04

  18. Method Overloading • implementation of polymorphism • two or more methods within the same class have the same name but different parameter declarations • overloaded methods must differ in the type and/or number of their parameters • class OverloadDemo { void test() { System.out.println (“No parameters”) ; } void test(int a) { // Overload test for one integer parameter System.out.println (“a: ” + a) ; } void test(int a, int b) { // Overload test for two integer parameters System.out.println (“a and b: ” + a + ““ + b) ; } } class Overload { public static void main (String args[ ]) { OverloadDemo ob = new OverloadDemo() ; ob.test(); ob.test(10); ob.test(10, 20); } } 04/07/04

  19. Inheritance • defines a general class that defines traits common to a set of related items • other specific classes add things that are unique to it • a class that is inherited is called a superclass while the one that does the inheriting is called the subclass • the extends19keyword is used to inherit a class • multilevel hierarchies can be created 04/07/04

  20. class A { // Creating a superclass A int i, j; void showij() { System.out.println (“i and j: “ + i +” “ + j) ; } } class B extends A { // Creating a subclass B by extending class A int k; void showk() { System.out.println (“k: “ + k) ; } void sum() { System.out.println (“i + j + k: “ + (i +j + k)) ; } } class Inheritance { public static void main (String args[]) { A superOb = new A(); B subob = new B(); superOb.i = 10; superOb.j = 20; superOb.showij(); subOb.i = 3; subOb.j = 6; subOb.k = 9; subOb.showij(); subOb.showk(); subOb.sum(); } } 04/07/04

  21. Packages • partitions the class name space • classes defined in a package are not accessible by code outside that package • syntax: package package_name; • the import statement is used to bring certain packages or the entire package into visibility • package Demo; class Balance { String name; double bal; Balance(String n, double b) { name = n; bal = b; } void show() { System.out.println(name + “: $” + bal) ; } } class AccBal { public static void main(String args[ ]) { Balance current[] = new Balance[3] ; current[0] = new Balance(“Bush”, 0.99); current[1] = new Balance(“Donald”, 9.99); current[2] = new Balance(“Rice”, 19.99); for (int i=0; i<3; i++) current[i].show() ; } } 04/07/04

  22. Access Specifiers • public No restrictions. Accessible from anywhere. • private Only accessible from within the class. • package Accessible from package members. • protected Also accessible from subclasses and package members. 04/07/04

  23. JAVA for Security Basic concepts: • Authentication • Authorization • Confidentiality • Integrity JAVA tools: • JAAS (JAVA Authentication And Authorization Service) • JSSE (JAVA Secure Socket Extensions) • GSS-API (JAVA Generic Security Service Application Programming Interface) 04/07/04

  24. JAVA Security Mechanisms 04/07/04

  25. Thank you! 04/07/04

More Related