Java
About the Tutorial
Java is a high
level programming language originally developed by Sun Microsystems and
released in 1995. Java runs on a variety of platforms, such as Windows, Mac
OS, and the
various versions of UNIX. This tutorial gives a compl
ete understanding of Java.
This reference will take you through simple and practical approach
es
while learning Java
Programming language.
Audience
This
tutorial
has been prepared for the beginners to help them understand the basic to
advanced co
ncepts related to Java Programming language.
Prerequisites
Before you start
practicing
various types of examples given in this reference,
we assume
that you are already aware about
computer program
s
a
nd
computer programming
language
s.
Execute Java Online
For most of the examples given in this tutorial
,
you will find
a
Try it
option,
which you
can use
to execute your Java programs at the spot and enjoy your l
earning.
Try following
the
example using
the
Try it
option available at the top right corner of the
following
sample code box
public
class
MyFirstJavaProgram
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Hello World"
)
;
}
}
Java
ii
Table of Contents
About the Tutorial
................................
................................
................................
................................
............
i
Audience
................................
................................
................................
................................
...........................
i
Prerequisites
................................
................................
................................
................................
.....................
i
Execute Java Online
................................
................................
................................
................................
..........
i
Table of Contents
................................
................................
................................
................................
............
ii
JAVA
BASICS
................................
................................
................................
.............................
1
1.
Java
Overview
................................
................................
................................
................................
........
2
History of Java
................................
................................
................................
................................
.................
3
Tools You Will Need
................................
................................
................................
................................
.........
3
Try It Option
................................
................................
................................
................................
....................
4
What is Next?
................................
................................
................................
................................
..................
4
2.
Java
Environment Setup
................................
................................
................................
.........................
5
Try it Option Online
................................
................................
................................
................................
.........
5
Local Environment Setup
................................
................................
................................
................................
.
5
Popular Java Editors
................................
................................
................................
................................
........
6
What is Next?
................................
................................
................................
................................
..................
6
3.
Java
Basic Syntax
................................
................................
................................
................................
....
7
First Java Program
................................
................................
................................
................................
...........
7
Basic Syntax
................................
................................
................................
................................
.....................
8
Java Identifiers
................................
................................
................................
................................
.................
9
Java Modifiers
................................
................................
................................
................................
..................
9
Java Variables
................................
................................
................................
................................
..................
9
Java Arrays
................................
................................
................................
................................
.......................
9
Java Enum
s
................................
................................
................................
................................
....................
10
Java Keywords
................................
................................
................................
................................
...............
10
Comments in Java
................................
................................
................................
................................
..........
11
Using Blank Lines
................................
................................
................................
................................
...........
12
Inheritance
................................
................................
................................
................................
....................
12
Interfaces
................................
................................
................................
................................
.......................
12
What is Next?
................................
................................
................................
................................
................
12
4.
Java
Objects & Classes
................................
................................
................................
..........................
13
Objects in Java
................................
................................
................................
................................
...............
13
Classes in Java
................................
................................
................................
................................
................
14
Constructors
................................
................................
................................
................................
..................
14
How to Use Singleton Class?
................................
................................
................................
.........................
15
Creating an Object
................................
................................
................................
................................
.........
17
Accessing Instance Variables and Methods
................................
................................
................................
...
18
Source File Declaration Rules
................................
................................
................................
........................
20
Java Package
................................
................................
................................
................................
..................
20
Import Statements
................................
................................
................................
................................
........
21
A Simple Case Study
................................
................................
................................
................................
......
21
What is Next?
................................
................................
................................
................................
................
23
Java
iii
5.
Java
Basic Datatypes
................................
................................
................................
............................
24
Primitive Datatypes
................................
................................
................................
................................
.......
24
Reference Datatypes
................................
................................
................................
................................
.....
26
Java Literals
................................
................................
................................
................................
...................
26
What is Next?
................................
................................
................................
................................
................
28
6.
Java
Variable Types
................................
................................
................................
..............................
29
Local Variables
................................
................................
................................
................................
...............
29
Instance Variables
................................
................................
................................
................................
.........
31
Class/static Variables
................................
................................
................................
................................
.....
33
What is Next?
................................
................................
................................
................................
................
34
7.
Java
Modifier Types
................................
................................
................................
.............................
35
Java Access Modifiers
................................
................................
................................
................................
....
35
Java Non
Access Modifiers
................................
................................
................................
............................
38
The Static Modifier
................................
................................
................................
................................
........
38
The Final Modifier
................................
................................
................................
................................
.........
39
The Abstract Modifier
................................
................................
................................
................................
....
41
Access Control Modifiers
................................
................................
................................
...............................
43
Non
Access Modifiers
................................
................................
................................
................................
....
44
What is Next?
................................
................................
................................
................................
................
44
8.
Java
Basic Operators
................................
................................
................................
............................
45
The Arithmetic Operators
................................
................................
................................
..............................
45
The Relational Operators
................................
................................
................................
...............................
47
The Bitwise Operators
................................
................................
................................
................................
...
49
The Logical Operators
................................
................................
................................
................................
....
52
The Assignment Operators
................................
................................
................................
............................
53
Miscellaneous Operators
................................
................................
................................
...............................
57
Precedence of Java Operators
................................
................................
................................
.......................
59
What is Next?
................................
................................
................................
................................
................
59
9.
Java
Loop Control
................................
................................
................................
................................
.
60
While Loop in Java
................................
................................
................................
................................
.........
61
for Loop in Java
................................
................................
................................
................................
..............
62
Do While Loop in Java
................................
................................
................................
................................
...
65
Loop Control Statements
................................
................................
................................
...............................
67
Break Statement in Java
................................
................................
................................
................................
67
Continue Statement in Java
................................
................................
................................
...........................
69
Enhanced for loop in Java
................................
................................
................................
..............................
70
What is Next?
................................
................................
................................
................................
................
71
10.
Java
Decision Making
................................
................................
................................
...........................
72
If Statement in Java
................................
................................
................................
................................
.......
73
If
else Statement in Java
................................
................................
................................
................................
74
The if...else if...else Statement
................................
................................
................................
......................
76
Nested if Statement in Java
................................
................................
................................
...........................
77
Switch Statement in Java
................................
................................
................................
...............................
78
The ? : Operator:
................................
................................
................................
................................
...........
80
What is Next?
................................
................................
................................
................................
................
81
Java
6
Now, alter the 'Path' variable so that it also contains the path to the Java
executable. Example, if the path is currently set to 'C:
\
WINDOWS
\
SYSTEM32', then
change your path to read 'C:
\
WINDOWS
\
SYSTEM32;
c:
\
Program
Files
\
java
\
jdk
\
bin'.
Setting
U
p the
P
ath for Linux, UNIX, Solaris, FreeBSD
Environment variable PATH should be set to point to where the Java binaries
have been
installed. Refer to your shell documentation
,
if you have trouble doing this.
Exa
mple, if you use
bash
as your shell, then you would add the following line to the end
of your
'.bashrc: export PATH=/path/to/java:$PATH'
Popular Java Editors
To write your Java programs, you will need a text editor. There are even more
sophisticated IDEs a
vailable in the market. But for now, you can consider one of the
following:
Notepad:
On Windows machine
,
you can use any simple text editor like Notepad
(Recommended for this tutorial), TextPad.
Netbeans:
A
Java IDE that is open
source and free
,
whic
h can be downloaded
from
http://www.netbeans.org/index.html
.
Eclipse:
A
Java IDE developed by the eclipse open
source community and can be
downloaded from
http://www.eclipse.org/
.
What is Next?
Next chapter will teach you how to write and run your first Java program and
some of the
important basic syntaxes in Java needed for developing applications.
Java
7
When we consi
der a Java program
,
it can be defined as a collection of objects that
communicate via invoking each other's methods. Let us now briefly look into
what do class,
object, methods
,
and instance variables mean.
Object
Objects have states and behavio
rs. Exam
ple: A dog has states
colo
r,
name, breed as well as behavio
r
such as
wagging
their tail
, barking, eating. An
object is an instance of a class.
Class
A class can be defined as a template/
blue
print that describes the
behavio
r
/state
that
the
obje
ct of its type support
s
.
Methods
A method is basically a behavio
r. A class can contain many methods.
It is in methods where the logics are written, data is manipulated and all the
actions are executed.
Instance Variables
Each object has its unique set
of instance variables. An
object's state is created by the values assigned to these instance variables.
First Java Program
Let us look at a simple code that w
ill
print the words
Hello World
.
public
class
MyFirstJavaProgram
{
/* This is my first j
ava program.
* This will print 'Hello World' as the output
*/
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"Hello World"
);
// prints Hello World
}
}
Let's look at how to save the file, compile
,
and run the program
. Please follow the
subsequent
steps
:
Open notepad and add the code as above.
Save the file as: MyFirstJavaProgram.java.
Open a command prompt window and go to the directory where you saved the
class. Assume it's C:
\
.
3.
Java
Basic Syntax
Java
8
Type '
javac MyFirstJa
vaProgram.java' and press enter to compile your code. If
there are no errors in your code, the command prompt will take you to the next
line (Assumption : The path variable is set).
Now, type ' java MyFirstJavaProgram ' to run your program.
You will be
able to see ' Hello World ' printed on the window.
C:
\
> javac MyFirstJavaProgram.java
C:
\
> java MyFirstJavaProgram
Hello World
Basic Syntax
About Java programs, it is very important to keep in mind the following points.
Case Sensitivity
Java is case sen
sitive, which means
identifier
Hello
and
hello
would have different meaning in Java.
Class Names
For all class names the first letter should be in Upper Case.
If several words are used to form a name of the class, each inner word's first
letter
should b
e in Upper Case.
Example
:
class MyFirstJavaClass
Method Names
All method names should start with a Lower Case letter.
If several words are used to form the name of the method, then each inner
word's
first letter should be in Upper Case.
Example
:
pu
blic void myMethodName()
Program File Name
Name of the program file should exactly match the class
name.
When saving the file, you should save it using the class name (Remember Java
is
case sensitive) and append '.java' to the end of the name (if the f
ile name and the
class name do not match
,
your program will not compile).
Example
: Assume 'MyFirstJavaProgram' is the class name. Then the file should
be saved as
'MyFirstJavaProgram.java'
public static void main(String args[])
Java program processing s
tarts from
the main() method which is a mandatory part of every Java program.
Java
9
Java Identifiers
All Java components require names. Names used for classes, variables
,
and methods are
called
identifiers
.
In Java, there are several points to remember about i
dentifiers. They are as follows:
All identifiers should begin with a letter (A to Z or a to z), currency character ($)
or an underscore (_).
After the first character
,
identifiers can have any combination of characters.
A key word cannot be used as an iden
tifier.
Most importantly
,
identifiers are case sensitive.
Examples of legal identifiers: age, $salary, _value, __1_value
.
Examples of illegal identifiers: 123abc,
salary
.
Java Modifiers
Like other languages, it is possible to modify classes, methods, etc.
, by using modifiers.
There are two categories of modifiers:
Access Modifiers:
default, public , protected, private
Non
access Modifiers:
final, abstract, strictfp
We will be looking into more details about modifiers in the next section.
Java Variables
Fol
lowing are the
type
s
of variables in Java:
Local Variables
Class Variables (Static Variables)
Instance Variables (Non
static
V
ariables)
Java Arrays
Arrays are objects that store multiple variables of the same type. However, an
array
itself
is an object on the heap. We will look into how to declare, construct
,
and initialize in the
upcoming chapters.
Java
10
Java Enums
Enums were introduced in
Java
5.0. Enums restrict a variable to have one of only a few
predefined values. The values in
this enumerated list are called enums.
With the use of enums it is possible to reduce the number of bugs in your code.
For example, if we consider an application for a fresh juice shop, it would be
possible to
restrict the glass size to small, medium
,
and
large. This would make sure that it would not
allow anyone to order any size other than
small, medium
,
or large.
Example
class
FreshJuice
{
enum
FreshJuiceSize
{
SMALL
,
MEDIUM
,
LARGE
}
FreshJuiceSize
size
;
}
public
class
FreshJuiceTest
{
pu
blic
static
void
main
(
String
args
[]){
FreshJuice
juice
=
new
FreshJuice
();
juice
.
size
=
FreshJuice
.
FreshJuiceSize
.
MEDIUM
;
System
.
out
.
println
(
"Size: "
+
juice
.
size
);
}
}
The a
bove example will produce the following result:
Size
:
MEDI
UM
Note:
E
nums can be declared as their own or inside a class. Methods, variables,
constructors can be defined inside enums as well.
Java Keywords
The following list shows the reserved words in Java. These reserved words may
not be
used as constant or var
iable or any other identifier names.
abstract
assert
boolean
break
byte
case
catch
char
Java
11
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
priv
ate
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
Comments in Java
Java supports single
line and multi
line comments very similar to
C
and
C
++.
All
characters available
inside any comment are ignored by Java compiler.
public
class
MyFirstJavaProgram
{
/* This is my first java program.
* This will print 'Hello World' as the output
* This is an example of multi
line comments.
*/
public
static
void
main
(
S
tring
[]
args
){
// This is an example of single line comment
/* This is also an example of single line comment. */
System
.
out
.
println
(
"Hello World"
);
}
}
Java
29
A variable provides us with named storage that our programs can manipula
te. Each
variable in Java has a specific type, which determines the size and layout of the
variable's
memory; the range of values that can be stored within that memory; and the
set of
operations that can be applied to the variable.
You must declare all var
iables before they can be used.
Following is t
he basic form of a
variable declaration
:
data type variable
[
=
value
][,
variable
[=
value
]
...]
;
Here
data type
is one of Java's datatypes and
variable
is the name of the variable. To
declare m
ore than one variable of the specified type, you can use a comma
separated list.
Following are valid examples of variable declaration and initialization in Java:
int
a
,
b
,
c
;
// Declares three ints, a, b, and c.
int
a
=
10
,
b
=
10
;
// Example of i
nitialization
byte
B
=
22
;
// initializes a byte type variable B.
double
pi
=
3.14159
;
// declares and assigns a value of PI.
char
a
=
'a'
;
// the char variable a iis initialized with value 'a'
This chapter will explain various variable type
s available in Java Language. There are three
kinds of variables in Java:
Local variables
Instance variables
Class/
S
tatic variables
Local
V
ariables
Local variables are declared in methods, constructors, or blocks.
Local variables are created when the me
thod, constructor or block is entered and
the variable will be destroyed once it exits the method, constructor
,
or block.
Access modifiers cannot be used for local variables.
Local variables are visible only within the declared method, constructor
,
or b
lock.
Local variables are implemented at stack level internally.
There is no default value for local variables
,
so local variables should be declared
and an initial value should be assigned before the first use.
6.
Java
Variable Types