0% found this document useful (0 votes)
58 views

Unit - I: MCA-405 Elective-I: E1 (B) Java Programming & Technologies

- Java was created in the early 1990s by James Gosling at Sun Microsystems with the goals of being portable, secure, and distributed. - It was originally developed for set-top boxes and later adapted for the web when Netscape implemented a Java-capable web browser. - Java differs from C++ in that it does not support multiple inheritance, operator overloading, or pointers. It features automatic garbage collection, exception handling using try/catch blocks, and other object-oriented features not present in C++.

Uploaded by

sudhirswe
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views

Unit - I: MCA-405 Elective-I: E1 (B) Java Programming & Technologies

- Java was created in the early 1990s by James Gosling at Sun Microsystems with the goals of being portable, secure, and distributed. - It was originally developed for set-top boxes and later adapted for the web when Netscape implemented a Java-capable web browser. - Java differs from C++ in that it does not support multiple inheritance, operator overloading, or pointers. It features automatic garbage collection, exception handling using try/catch blocks, and other object-oriented features not present in C++.

Uploaded by

sudhirswe
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 47

UNIT - I

MCA-405
Elective-I : E1(b)
Java Programming & Technologies

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
History of Java
• Generation
– James Gosling & Patrick Naughton at 1990
• Goal : to develop distributed system which is applicable
to electronic products(platform independent)
– *7(Star Seven) system by 1st Person Inc
• named by Oak
• Research Settop Box & VOD with OS(Green)
• disappeared

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
History of Java

NCSA Mosaic(1994) - first browser: Big Bang of the Web

Web Browser may provide us


what we want such as
platform independence, security

James Gosling

WebRunner
Java(1995.5)
Browser implemented by Java

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Difference between Java and C++
Java C++
• Single inheritance • Multiple inheritance
• C data type not supported • C data type supported
struct, union, pointer • Command line arguments
• Command line arguments argc, argv
args • String
• String character array
First-class object • Exception handling
• Exception handling Try-Catch
Try-Catch-Finally • No garbage collection
• Garbage collection • Operator overloading
• No operator overloading

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Difference between Java and C++
Example 1 - command line argument

public class echo int main(int argc, char **argv)


{ {
public static void main(String argv[]) for(int i = 0; i < argc; i++)
{ printf(“%s ”, argv[i])
for(int i=0; i < argv.length; i++) printf(“\n”);
System.out.print(argv[i] + “ ”); return 0;
System.out.print(“\n”); }
System.exit(0);
}
}

$> java echo arg1 arg2 $> echo arg1 arg2


arg1 arg2 echo arg1 arg2
$> $>
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Difference between Java and C++
Example 2 - garbage collection

public void memory_function() public void memory_function()


{ {
Aclass cls; Aclass *cls;
cls = new Aclass(…); cls = new Aclass(…);
cls.fn1(); cls->fn1();
cls.fn2(); cls->fn2();
cls.fn3(); cls->fn3();
……….. ………..
return; delete cls;
} return;
}
(garbage collection)

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Structure Overview of Java

OS application Language Primitives

Auxiliary Window Tookit


Java APIs
Servlet API JavaBeans
Java Virtual Machine
RMI JDBC Etc.
OS Platform

Hardware Platform
JDBC Drivers

Solaris, Windows, Mac, Linux ..


Web Server
Sparc, Intel, Mac, HP ...
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Java Language Features
• Pure Object Oriented  Supports
– Inheritance
Language – Interfaces
– Can only write classes – Nested Classes
• Syntax very similar to C/C+ – Automatic Garbage Collection
 Built in support for
+, but without many of the – Threads
rarely used, overly complex – Exception handling
features of C++ – Object serialization
– No history – Networking
– Reflection
– No operator overloading
– No multiple inheritance
– No Pointers
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Introduction to OO Programming
• Java is an object oriented – Encapsulation
programming language, so some • Variables/Functions can be declared:
rudimentary knowledge of OO – private
terminology is required » only functions within same class
or superclass can access them
– Classes (e.g. “Employee”, “Track”) (c.f. C++ protected)
• Objects – public
– specific instances of a class (e.g. » any function can access them
“Tony Johnson”, “Track 5”) • Java also implements
• In Java all functions are contained
– static
within classes
» Applies to class not object
• For largely historical reasons functions
are often called methods or member – final
functions » Cannot be overridden by
subclass
– Inheritance (aka subclassing)
• e.g. “Associate Director”, “Drift
Chamber Track”

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Java Buzzwords
• Architecture
Simple Neural, Portable
– Runs
well, simpler
on PC, MAC,
than Unix,
C++ VMS
• Interpreted
Object Orientated
– “Compiler”
more so than
converts
C++ code into machine independent “bytecodes”
• High
Distributed
Performance
– Built
With in
JITsupport
compilerforstill
Internet
severalprotocols,
times slower
URL’s,
than
HTTP native
etc. C++
– Coming
Support soon!
for distributed
Optimizing objects,
interpreter
RMI, CORBA
from Sun,etc.faster (?!?) than C++
• Multithreaded
Robust
– Difficult
Languagetohas
create
direct
memory
support
leaks,
for multithreading
go beyond the (c.f.
endsubprocesses)
of an array, corrupt stack
• or code
Dynamic
• Secure
– Libraries can change without recompiling programs that use them
– Bytecode “verifier”, padded cell

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Hello World in Java

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Java compilation and execution
• Compilation
# javac hello.java
results in HelloInternet.class
• Execution
# java Helloworld
Hello world
#

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Java Applets
• Java Applets are programs designed  Problems
to run inside a web browser. – Lack of network/filesystem access
• Instead of having a “main” method can be restrictive
they have a class derived from – Complex programs can be large and
“Applet” whose “init” method is hence slow to download
called when the applet is loaded. – Sun has been introducing new
• The applet class provides releases far to fast for browser
capabilities for loading images, manufacturers to keep up.
– Each browser has subtle differences.
sounds and animations from the
internet.  Solutions?
• Applets loaded from the internet – Java activator from SUN
• Plug in for netscape/IE to ensure
are run inside a “sandbox” which
latest SUN features always available.
restricts what they can do:
– Signed applets can be granted more
– No Access to local filesystem
privileges.
– Can only open network connections • Can download local copies of large
with the site they came from programs
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Class Path
• where the Java compiler and virtual machine look for the
source or byte code files.
• consists of a list directories and/or jar files, separated by
– ;  (on Windows)
– :  (on Unix/Linux)
• default: all the J2SDK standard classes and the current
directory
• classpath switch of javac and java
• CLASSPATH environment variable
• extension mechanism: place JAR file in
C:\jdk1.3\jre\lib\ext

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Data types
Java defines eight simple (or elemental) types of data: byte, short, int , long, char,
float , double, and Boolean. These can be put in four groups:

■ Integers This group includes byte, short, Int, and long, which are for whole
valued signed numbers.

■ Floating-point numbers This group includes float and double, which represent
numbers with fractional precision.

■ Characters This group includes char, which represents symbols in a character


set, like letters and numbers.

■ Boolean This group includes Boolean, which is a special type for representing
true/false values.
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Arithmetic Operators
• Arithmetic operators are used in mathematical expressions in the same way that
they are used in algebra. The following table lists the arithmetic operators:
Operator Result
+ Addition
– Subtraction (also unary minus)
* Multiplication
/ Division
% Modulus
++ Increment
+= Addition assignment
–= subtraction assignment
*= Multiplication assignment
/= Division assignment
%= Modulus assignment
– – Decrement

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
bitwise operators
• Java defines several bitwise operators which can be applied to the integer types,
long,int, short, char, and byte. These operators act upon the individual bits of
their operands.
• They are summarized in the following table:
Operator Result
~ Bitwise unary NOT
& Bitwise AND
| Bitwise OR
^ Bitwise exclusive OR
>> Shift right
>>> Shift right zero fill
<< Shift left
&= Bitwise AND assignment
|= Bitwise OR assignment
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Boolean Logical Operators
The Boolean logical operators shown here operate only on Boolean operands. All
of the binary logical operators combine two Boolean values to form a resultant
Boolean value.
Operator Result
& Logical AND
| Logical OR
^ Logical XOR (exclusive OR)
|| Short-circuit OR
&& Short-circuit AND
! Logical unary NOT
&= AND assignment
|= OR assignment
^= XOR assignment
== Equal to
!= Not equal to
?: Ternary if-then-else
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Type Conversion and Casting
• Type conversion can be done in two ways in java , If the two
types are compatible, then Java will perform the conversion
automatically For example, it is always possible to assign an
Int value to a long variable. However, not all types are
compatible, and thus, not all type conversions are implicitly
allowed. For instance, there is no conversion defined from
double to byte. Fortunately, it is still possible to obtain a
conversion between incompatible types. To do so, you must
use a cast, which performs an explicit conversion between
incompatible types. We look at both automatic type
conversions and casting.

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Java’s Automatic Conversions
When one type of data is assigned to another type of variable, an automatic type
conversion will take place if the following two conditions are met:

■ The two types are compatible.


■ The destination type is larger than the source type.

When these two conditions are met, a widening conversion takes place. For example,
the int type is always large enough to hold all valid byte values, so no explicit cast
statement is required.

For widening conversions, the numeric types, including integer and floating-point
types, are compatible with each other. However, the numeric types are not compatible
with char or boolean. Also, char and boolean are not compatible with each other.
As mentioned earlier, Java also performs an automatic type conversion when
storing a literal integer constant into variables of type byte, short, or long.
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Casting Incompatible Types
Although the automatic type conversions are helpful, they will not fulfill all needs. For
example, what if you want to assign an int value to a byte variable? This conversion
will not be performed automatically, because a byte is smaller than an int. This kind of
conversion is sometimes called a narrowing conversion, since you are explicitly making
the value narrower so that it will fit into the target type.
To create a conversion between two incompatible types, you must use a cast. A cast
is simply an explicit type conversion. It has this general form:
(target-type) value
Here, target-type specifies the desired type to convert the specified value to. For
example, the following fragment casts an int to a byte. If the integer’s value is larger
than the range of a byte, it will be reduced modulo (the remainder of an integer
division by the) byte’s range.
int a;
byte b;
// ...
b = (byte) a;
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Casting Incompatible Types
A different type of conversion will occur when a floating-
point value is assigned to an integer type: truncation. As
you know, integers do not have fractional components.
Thus, when a floating-point value is assigned to an
integer type, the fractional component is lost. For
example, if the value 1.23 is assigned to an integer, the
resulting value will simply be 1. The 0.23 will have been
truncated. Of course, if the size of the whole number
component is too large to fit into the target integer type,
then that value will be reduced modulo the target type’s
range.
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Casting Incompatible Types example
The following program demonstrates some type conversions that require casts:
// Demonstrate casts.
class Conversion {
public static void main(String args[]) {
byte b;
int i = 257;
double d = 323.142;
System .out. println(“ \nConversion of int to byte.");
b = (byte) i;
System.out.println("i and b " + i + " " + b);
System.out.println("\nConversion of double to int.");
i = (int) d;
System.out.println("d and i " + d + " " + i);
System.out.println("\nConversion of double to byte.");
b = (byte) d;
System.out.println("d and b " + d + " " + b);
}
}
This program generates the following output:
Conversion of int to byte.
i and b 257 1
Conversion of double to int.
d and i 323.142 323
Conversion of double to byte.
d and b 323.142 67
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
if statement
The if statement is Java’s conditional branch statement. It can be used to route program
execution through two different paths. Here is the general form of the if statement:

if (condition) statement1;
else statement2;

Here, each statement may be a single statement or a compound statement enclosed in


curly braces (that is, a block). The condition is any expression that returns a Boolean value.
The else clause is optional.
The if works like this: If the condition is true, then statement1 is executed. Otherwise,
statement2 (if it exists) is executed. In no case will both statements be executed. For
example, consider the following:
Int a, b;
// ...
if(a < b) a = 0;
else b = 0;

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Nested ifs
A nested if is an if statement that is the target of another if or else. Nested ifs are very
common in programming. When you nest ifs, the main thing to remember is that an
else statement always refers to the nearest if statement that is within the same block
as the else and that is not already associated with an else. Here is an example:

if (i == 10) {
if (j < 20) a = b;
If (k > 100) c = d; // this if is
else a = c; // associated with this else
}
else a = d; // this else refers to if(i == 10)

As the comments indicate, the final else is not associated with if(j<20), because it is not
in the same block (even though it is the nearest if without an else). Rather, the final else
is associated with if(i==10). The inner else refers to if(k>100), because it is the closest if
within the same block.

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
switch statement
The switch statement is Java’s multiday branch statement. It provides an easy way to
dispatch execution to different parts of your code based on the value of an expression.
As such, it often provides a better alternative than a large series of if-else-if statements.
Here is the general form of a switch statement:

switch (expression) {
case value1:
// statement sequence
break;
case value2:
// statement sequence
break;
...
case valueN:
// statement sequence
break;
default:
// default statement sequence
} MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
A simple example of the switch.
class SampleSwitch {
public static void main(String args[]) {
for(int i=0; i<6; i++) The output produced by this
switch(i) { program is shown here:
case 0:
System.out.println ("i is zero.");
i is zero.
break; i is one.
case 1:
i is two.
System.out.println ("i is one.");
break; i is three.
case 2: i is greater than 3.
System.out.println("i is two.");
break; i is greater than 3.
case 3:
System.out.println("i is three.");
break;
default:
System.out.println("i is greater than 3.");
}
}
} MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
While loop
The while loop is Java’s most fundamental looping statement. It
repeats a statement or block while its controlling expression is
true. Here is its general form:
while(condition) {
// body of loop
}
The condition can be any Boolean expression. The body of the
loop will be executed as long as the conditional expression is true.
When condition becomes false, control passes to the next line of
code immediately following the loop. The curly braces are
unnecessary
if only a single statement is being repeated.
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
While loop Example
Here is a while loop that counts When you run this program, it will
down from 10, printing exactly “tick” ten times:
ten lines of “tick”:Demonstrate tick 10
the while loop.
tick 9
tick 8
class While {
public static void main(String args[]) {
tick 7
int n = 10; tick 6
while(n > 0) { tick 5
System. out. println("tick " + n); tick 4
n--; tick 3
} tick 2
} tick 1
} MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
do-while loop
// Demonstrate the do-while loop.

class DoWhile {
public static void main(String
args[]) {
int n = 10;
do {
System.out.println("tick " + n);
n--;
} while(n > 0);
}
}
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
The for Loop
The simplest form of the for loop is shown here:

for(initialization; condition; iteration) statement;

In its most common form, the initialization portion of the loop sets a
loop control variable to an initial value. The condition is a Boolean
expression that tests the loop control variable. If the outcome of that
test is true, the for loop continues to iterate. If it is false, the loop
terminates. The iteration expression determines how the loop control
variable is changed each time the loop iterates

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
for Loop Example
This program generates the class ForTest {
following output:
This is x: 0
public static void main(String args[]) {
This is x: 1 int x;
This is x: 2 for(x = 0; x<10; x = x+1)
This is x: 3
This is x: 4
System.out.println("This is x: " + x);
This is x: 5 }
This is x: 6 }
This is x: 7
This is x: 8
This is x: 9

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
special statements
Java supports three jump statements:
break
continue
return.
These statements transfer control to another part of your
program

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Using break
In Java, the break statement has three uses. First, as you have seen, it
terminates a statement sequence in a switch statement. Second, it can be
used to exit a loop. Third, it can be used as a “civilized” form of goto..
By using break, you can force immediate termination of a loop, bypassing
The conditional expression and any remaining code in the body of the loop.
When a break statement is encountered inside a loop, the loop is terminated
and program control resumes at the next statement following the loop.

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Example Using break
Using break to exit a loop. • This program generates the
class BreakLoop { following output:
public static void main(String args[]) { i: 0
for(int i=0; i<100; i++) { i: 1
if(i == 10) break; // terminate loop if i i: 2
is 10
i: 3
System.out.println("i: " + i);
i: 4
}
i: 5
System.out.println("Loop
complete."); i: 6
} i: 7
} i: 8
i: 9
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Using continue
Sometimes it is useful to force an early iteration of a loop.
That is, you might want to continue running the loop, but stop
processing the remainder of the code in its body for this
particular iteration. This is, in effect, a goto just past
the body of the loop, to the loop’s end. The continue
statement performs such an action.
In while and do-while loops, a continue statement causes
control to be transferred directly to the conditional
expression that controls the loop. In a for loop, control goes
first to the iteration portion of the for statement and then to
the conditional expression. For all three loops, any
intermediate code is bypassed.
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Example Using continue
Demonstrate continue. This code uses the % operator to
check if i is even. If it is, the loop
class Continue {
continues without printing a
public static void main(String newline
args[]) {
for(int i=0; i<10; i++) {
System.out.print(i + " "); Output:-
if (i%2 == 0) continue; 0 1
System.out.println(""); 2 3
} 4 5
} 6 7
} 8 9
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
return
The last control statement is return. The return statement is used to
explicitly return from a method. That is, it causes program control to
transfer back to the caller of the method.
// Demonstrate return.
class Return {
public static void main(String args[]) {
boolean t = true;
System.out.println("Before the return.");
if(t) return; // return to caller
System.out.println("This won't execute.");
}
}
The output from this program is shown here:
Before the return.
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
array
An array is a group of like-typed variables that are referred to by a common name.
Arrays of any type can be created and may have one or more dimensions. A specific
element in an array is accessed by its index. Arrays offer a convenient means of
grouping related information.
• One-Dimensional Arrays
A one-dimensional array is, essentially, a list of like-typed variables. To create an array,
you first must create an array variable of the desired type. The general form of a one
dimensional array declaration is
type var-name[ ];
Here, type declares the base type of the array. The base type determines the data type
of each element that comprises the array. Thus, the base type for the array determines
what type of data the array will hold.

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
EXAMPLE of One-Dimensional Arrays
// Demonstrate a one-dimensional array.
class Array {
• public static void main(String args[]) {
• int month_days[];
• month_days = new int[12];
• month_days[0] = 31;
• month_days[1] = 28;
• month_days[2] = 31;
• month_days[3] = 30;
• month_days[4] = 31;
• month_days[5] = 30;
• month_days[6] = 31;
• month_days[7] = 31;
• month_days[8] = 30;
• month_days[9] = 31;
• month_days[10] = 30;
• month_days[11] = 31;
• System.out.println("April has " + month_days[3] + " days.");
• }
• }

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Multidimensional Arrays
In Java, multidimensional arrays are actually arrays of arrays. These,
as you might expect, look and act like regular multidimensional
arrays. To declare a multidimensional array variable, specify each
additional index using another set of square brackets. For example,
the following declares a two-dimensional array variable called
twoD.

int twoD[][] = new int[4][5];

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
EXAMPLE of Multidimensional Arrays
// Demonstrate a two-dimensional array.
class TwoDArray {
This program generates
public static void main(String args[]) { the following output:
int twoD[][]= new int[4][5];
int i, j, k = 0; 01234
for(i=0; i<4; i++)
for(j=0; j<5; j++) { 56789
twoD[i][j] = k;
k++; 10 11 12 13 14
}
for(i=0; i<4; i++) { 15 16 17 18 19
for(j=0; j<5; j++)
System.out.print(twoD[i][j] + " ");
System.out.println();
}
}
} MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
memory allocation and garbage collection in java keywords.

Java has a streamlined approach to memory allocation. Like C++, it supports


the new keyword. However, it does not have delete. Instead, when the last
reference to an object is destroyed, the object, itself, is automatically
deleted the next time that garbage collection occurs.

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
Class in java
A class consists of
–a collection of fields, or variables, very much
like the named fields of a struct
–all the operations (called methods) that can be
performed on those fields
–can be insta ntiated
•A class describes objects and operations
defined on those objects
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
Naming conventions

•Java is case­sensitive;maxval,maxVal, and


MaxVal are three different names
•Class names begin with a capital letter
•All other names begin with a lowercase letter
•Subsequent words are capitalized: theBig
One
•Underscores are not used in names
•These are very strong conventions!
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel
The class hierarchy
• Classes are arranged in a hierarchy
•The root, or topmost, class isObject
•Every class butObject has at least one

• superclass
•A class may have subclasses
•Each class inherits all the fields and methods
of its (possibly numerous) super classes

MCA-405 Elective-I : E1(b) Java


Programming & Technologies prepared by
sudhir patel
An example of a class
class Person {
String name;
int age;

void birthday ( ) {
age++;
System.out.println (name + ' is
now ' + age);
}
}
MCA-405 Elective-I : E1(b) Java
Programming & Technologies prepared by
sudhir patel

You might also like