1 of 34

JAVA- Unit 1

Prepared by

Dr. D. Suganthi,

AP/MCA

2 of 34

Java Tutorial

Write Once, Run Anywhere

3 of 34

Java – Introduction

  • Java was developed by James Gosling, Patrick Naughton, Chris Warth, Ed Frank, and Mike Sheridan at Sun Microsystems in 1991.
  • This language was initially called “Oak”
  • It was renamed “Java” in 1995.
  • Why the Java Icon like this?

4 of 34

Java - General

  • Java is:
    • platform independent programming language
    • similar to C++ in syntax

5 of 34

Java Development Kit

  • javac - The Java Compiler
  • java - The Java Interpreter
  • jdb - The Java Debugger
  • appletviewer -Tool to run the applets

  • javap - to print the Java bytecodes
  • javaprof - Java profiler
  • javadoc - documentation generator
  • javah - creates C header files

6 of 34

Java - General

  • Java has some interesting features:
    • automatic type checking,
    • automatic garbage collection,
    • simplifies pointers; no directly accessible pointer to memory,
    • simplified network access,
    • multi-threading!

7 of 34

How it works…!

Compile-time Environment

Compile-time Environment

Java

Bytecodes

move locally

or through

network

Java

Source

(.java)

Java

Compiler

Java

Bytecode

(.class )

Java

Interpreter

Just in Time

Compiler

Runtime System

Class Loader

Bytecode

Verifier

Java Class

Libraries

Operating System

Hardware

Java

Virtual

machine

8 of 34

How it works…!

  • Java is independent only for one reason:
    • Only depends on the Java Virtual Machine (JVM),
    • code is compiled to bytecode, which is interpreted by the resident JVM,
    • JIT (just in time) compilers attempt to increase speed.

9 of 34

Object-Oriented

  • Java supports OOP
    • Polymorphism
    • Inheritance
    • Encapsulation
  • Java programs contain nothing but definitions and instantiations of classes
    • Everything is encapsulated in a class!

10 of 34

Java Advantages

  • Portable - Write Once, Run Anywhere
  • Security has been well thought through
  • Robust memory management
  • Designed for network programming
  • Multi-threaded (multiple simultaneous tasks)
  • Dynamic & extensible (loads of libraries)
    • Classes stored in separate files
    • Loaded only when needed

11 of 34

Basic Java Syntax

12 of 34

Primitive Types and Variables

  • boolean, char, byte, short, int, long, float, double etc.
  • These basic (or primitive) types are the only types that are not objects (due to performance issues).
  • This means that you don’t use the new operator to create a primitive variable.
  • Declaring primitive variables:

float s;

char a;

Byte c;

int a, index = 2;

double g = 1.2, brightness

boolean v = false;

13 of 34

Initialisation

  • If no value is assigned prior to use, then the compiler will give an error
  • Java sets primitive variables to zero or false in the case of a boolean variable
  • All object references are initially set to null
  • An array of anything is an object
    • Set to null on declaration
    • Elements to zero false or null on creation

14 of 34

Declarations

int index = 1.2; // compiler error

boolean retOk = 1; // compiler error

double fiveFourths = 5 / 4; // no error!

float ratio = 5.8f; // correct

double fiveFourths = 5.0 / 4.0; // correct

  • 1.2f is a float value accurate to 7 decimal places.
  • 1.2 is a double value accurate to 15 decimal places.

15 of 34

Assignment

  • All Java assignments are right associative

int a = 1, b = 2, c = 5

a = b = c

System.out.print(

“a= “ + a + “b= “ + b + “c= “ + c)

  • What is the value of a, b & c
  • Done right to left: a = (b = c);

16 of 34

  • public class examplpro {
  • public static void main(String[ ] args) {
  • int a = 1, b = 2, c = 5;

System.out.println("a= " + a + "; b= " + b + "; c= " + c);

  • a = (b = c);
  • System.out.println("a= " + a + "; b= " + b + "; c= " + c);
  • }

  • }

  • O/P
  • a= 1; b= 2; c= 5
  • a= 5; b= 5; c= 5

17 of 34

Basic Mathematical Operators

  • * / % + - are the mathematical operators
  • * / % have a higher precedence than + or -

double myVal = a + b % d – c * d / b;

  • Is the same as:

double myVal = (a + (b % d)) –

((c * d) / b);

18 of 34

Flow of Control

  • Java executes one statement after the other in the order they are written
  • Many Java statements are flow control statements:

Alternation: if, if else, switch

Looping: for, while, do while

Escapes: break, continue, return

19 of 34

If – The Conditional Statement

  • The if statement evaluates an expression and if that evaluation is true then the specified action is taken

if ( x < 10 ) x = 10;

  • If the value of x is less than 10, make x equal to 10
  • It could have been written:

if ( x < 10 )

x = 10;

  • Or, alternatively:

if ( x < 10 ) { x = 10; }

20 of 34

Relational Operators

== Equal (careful)

!= Not equal

>= Greater than or equal

<= Less than or equal

> Greater than

< Less than

21 of 34

If… else

  • The if … else statement evaluates an expression and performs one action if that evaluation is true or a different action if it is false.

if (x != oldx) {

System.out.print(“x was changed”);

}

else {

System.out.print(“x is unchanged”);

}

22 of 34

Nested if … else

if ( myVal > 100 ) {

if ( remainderOn == true) {

myVal = mVal % 100;

}

else {

myVal = myVal / 100.0;

}

}

else

{

System.out.print(“myVal is in range”);

}

23 of 34

else if

  • Useful for choosing between alternatives:

if ( n == 1 ) {

// execute code block #1

}

else if ( j == 2 ) {

// execute code block #2

}

else {

// if all previous tests have failed, execute code block #3

}

24 of 34

A Warning…

WRONG!

if( i == j )

if ( j == k )

System.out.print(

“i equals k”);

else

System.out.print(

“i is not equal to j”);

CORRECT!

if( i == j ) {

if ( j == k )

System.out.print(

“i equals k”);

}

else

System.out.print(“i is not equal to j”); // Correct!

25 of 34

The switch Statement

switch ( n ) {

case 1:

// execute code block #1

break;

case 2:

// execute code block #2

break;

default:

// if all previous tests fail then //execute code block #4

break;

}

26 of 34

The for loop

  • Loop n times

for ( i = 0; i < n; n++ ) {

// this code body will execute n times

// ifrom 0 to n-1

}

  • Nested for:

for ( j = 0; j < 10; j++ ) {

for ( i = 0; i < 20; i++ ){

// this code body will execute 200 times

}

}

27 of 34

while loops

while(response == 1) {

System.out.print( “ID =” + userID[n]);

n++;

response = readInt( “Enter “);

}

What is the minimum number of times the loop is executed?

What is the maximum number of times?

28 of 34

do {… } while loops

do {

System.out.print( “ID =” + userID[n] );

n++;

response = readInt( “Enter ” );

}while (response == 1);

What is the minimum number of times the loop is executed?

What is the maximum number of times?

29 of 34

Arrays

  • Am array is a list of similar things
  • An array has a fixed:
    • name
    • type
    • length
  • These must be declared when the array is created.
  • Arrays sizes cannot be changed during the execution of the code

30 of 34

myArray has room for 8 elements

  • the elements are accessed by their index
  • in Java, array indices start at 0

3

6

3

1

6

3

4

1

myArray =

0

1

2

3

4

5

6

7

31 of 34

Declaring Arrays

int myArray[];

declares myArray to be an array of integers

myArray = new int[8];

sets up 8 integer-sized spaces in memory, labelled myArray[0] to myArray[7]

int myArray[] = new int[8];

combines the two statements in one line

32 of 34

Assigning Values

  • refer to the array elements by index to store values in them.

myArray[0] = 3;

myArray[1] = 6;

myArray[2] = 3; ...

  • can create and initialise in one step:

int myArray[] = {3, 6, 3, 1, 6, 3, 4, 1};

33 of 34

Iterating Through Arrays

  • for loops are useful when dealing with arrays:

for (int i = 0; i < myArray.length; i++) {

myArray[i] = getsomevalue();

}

34 of 34

Declaring the Array

1. Declare the array

private Student studentList[];

    • this declares studentList

2 .Create the array

studentList = new Student[10];

    • this sets up 10 spaces in memory that can hold references to Student objects

3. Create Student objects and add them to the array: studentList[0] = new Student("Cathy", "Computing");