JP Unit I
JP Unit I
1
I. Program Structure in Java:
1. Introduction
Java is an Object Orient and high-level programming language, originally developed by Sun
Microsystems.
Initially committed to develop Java in 1991 it took 18 months to develop the first working version.
Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank, and Mike Sheridan
at Sun Microsystems.
It is initially called as "Oak" but was renamed as "Java" in 1995.
Java first major version is released on January 23rd 1996.
Java runs on a variety of platforms, such as Windows, Mac OS, Linux etc.
After import statement, every java program starts with the declaration of the class. A
program may have one or more classes.
A class declaration starts with the keyword class, followed by the identifier or name of the class.
Giving the name of a package at the top is optional.
Class declaration contains name of the class and body of the class. The body of the
class may consist of several statements and is enclsed between the braces {}.
Here:
2
public is access modifier. This class is accessible to anywhere outside package.
Otherwise the class is accessible to only same package classes.
class is a keyword of java language which is used to declare the class.
The class body starts with the left brace { and ends with the right colsing brace }.
// are comments which are neglected by the compiler.
A class body may comprise statements for declaration of variables. Constants, expressions,
and methods.
Java compiler first converts the source code into an intermediate code, known as bytecode or
virtual machine code. To run the bytecode, we need the Java Virtual Machie (JVM).
JVM exists only inside the computer memory and runs on top of the Operating System. The
bytecode is not machine specific. The Java interpreter converts the bytecode into Machine
code. The following diagram illustrates the process of compiling and running Java programs.
For compiling the program, the Java compiler javac is run, specifying the name of
the source file on the command line as depicted here:
javac First.java
3
The Java compiler creates a file called First.class containing the bytecode version of
the program. The java interpreter in JVM executes the instructions contained in this
intermediate Java bytecode version of the program. The Java interpreter is called
with “java” at the command prompt.
Output:
Hello World
Here java command calls the Java interpreter which executes the First.class (bytecode of
First.java).
Java program contains different types of elements like white spaces, comments and
tokens. A token is the smallest program element which is recognized by the
compiler and which treats them as defined for the compiler. A program is a set of
tokens which comprise the following elements:
ex:- java.awt
java.io
java.swing
2) Each word of class names and interfaces and enum start with a capital.
ex:- println(),readLine(),getNumberInstance(),etc..
4) Variable names also follow the above rule.
Keywords:
• The words which are reserved to perform some key operations or represent constant values are
called Reserved words.
• Reserved words are classified into 2 types.
Default Literals:-
1) true 2) false 3) null
Literals:
• A literal represents a value which may be of primitive type, String type, or null type.
• Any constant value which can be assigned to the variable is called as literal.
Types of Literals:
i. Integer literals
• Sequences of digits.
• The whole numbers are described by different number systems such as decimal
numbers, hexadecimal numbers, octal numbers, and binary numbers.
• Each number has a different set of digits.
Decimal Integer Literals
• These are sequences of decimal digits which are 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9.
• Examples of such literals are 6, 453, 34789, etc.
Hex Integral Literals
• These are sequences of hexadecimal digits which are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,
D, E, and F.
• The values 10 to 15 are represented by A, B, C, D, E, and F or a, b, c, d, e, and f.
• The numbers are preceded by 0x or 0X. Examples are 0x56ab o0X6AF2, etc.
Octal Integer Literals
• These are sequences of octal digits which are 0, 1, 2, 3, 4, 5, 6, and 7.
• These numbers are preceded by 0. Examples of literals are 07122, 04, 043526.
Binary Literal
• These are sequences of binary digits.
• Binary numbers have only two digits—0 and 1 and a base 2.
• Examples of such literals are 0b0111001, 0b101, 0b1000, etc.
6
• These are floating decimal point numbers or fractional decimal numbers with base 10.
Examples are 3.14159, 567.78, etc.
iii. Boolean literal • These are Boolean values. There are only two values—true or false.
iv. Character literal
• These are the values in characters.
• Characters are represented in single quotes such as ‘A’, ‘H’, ‘k’, and so on.
v. String literal
• These are strings of characters in double quotes. Examples are “Delhi”, “John”, “AA”,
etc.
Separators: These include comma, semicolon, period(.), Parenthesis (), Square brackets
[], etc
7
Operators: Operators are mostly represented by symbols such as +, -, *, etc
Operator is nothing but a symbol which is defined to perform operations to do at the time of
implementing Language.
Operators are classified into three types based on Operand there are.
1) Unary Operator: Operator working with single operand
Operators are classified into different types based on their behavior. There are,
1) Arithmetic Operator
2) Relational Operator
3) Logical Operator
4) Increment/Decrement Operator
5) Conditional Operator
6) Assignment operator
7) Bitwise Operators
8) new operators
9) Equality Operators
10) instanceof Operator
11) Type Casting operator
12) []
1) Arithmetic Operator:
Operators which are used to perform basic arithmetic operations are called arithmetic operators.
Operator Description
+ Addition or Unary plus
- Subtraction or Unary minus
* Multiplication
/ Division
% Modulus
2) Relational Operators:
3) Logical Operators:
Operator Description
&& Greater than
|| Greater than or equal to
! Less than
4) Increment/Decrement Operators:
Operator Description
++ Increment by one
-- Decrement by one
5) Conditional Operators:
6) Assignment operator:
The operators which are used to assign the values are called assignment operators.
9
In java Assignment operators can be classified into 3 types there are,
a) Simple Assignment
int a;
a=44;
b) Multiple Assignment
int a,b,c;
a=b=c=30;
c) Compound Assignment
int a=20;
a+=20; //a=a+20;
7) Bitwise Operators:
Operator Description
& Bitwise AND
| Bitwise OR
^ Bitwise exclusive OR
~ Bitwise compliment
>> Shift Right
<< Shift Left
>>> Shift right with Zero fill
8) new Operator
This is special operator in java. It is used to provide dynamic memory allocation. Most of the
cases Object is created by using new operator.
9) Equality Operators:
In java there are two types of equality operators in java. there are "==" and "!=".
== operator is mainly used for primary data types comparison.
But == operator is also used for object reference verification.
10) instanceof:
We can use this operator to check whether the given object is particular type (class or interface) or
not.
Syntax:
r instanceof x
r-> Object reference
x-> class or interface
To use instanceof operator compulsorily there should be some relationship between arguments.
Either child to parent (or) Parent to child (or) same type otherwise we will get compile time error.
11
2) Explicit type casting:
It is also called as narrowing or down casting
12) []:
We use this operator to declare and construct arrays.
4. Java Statements
A Statement is a instruction to the computer. A program is a set of statements or
instructions. The statements specify the sequence of actions to be performed when
some method or constructor is invoked. The statements are executed in the
sequence in the specified order. The important Java statements are as follows.
Statement Description
Empty statement These are used during program development.
Variable declaration It defines a variable that can be used to store the values.
statement
Labeled statement A block of statements is given a label. The labels should not
be keywords, previously used labels, or already declared
local variables.
Expression statement Most of the statements come under this category. There are
seven types of expression statements that include
assignment, method call and allocation, pre-increment, post
increment, pre-decrement, and post decrement statements.
Control statement This comprises selection, iteration, and jump statements.
Selection statement In these statements, one of the various control flows is
selected when a certain condition expression is true. There
are three types of selection statements including if, if-else,
and switch.
Iteration statement These involve the use of loops until some condition for the
termination of loop is satisfied. There are three types of
iteration statements that make use of while, do, and for
Jump statement In these statements, the control is transferred to the
beginning or end of the current block or to a labeled
statement. There are four types of Jump statements including
break, continue, return, and throw.
Synchronization These are used with multi-threading
statement
Guarding statement These are used to carry out the code safely that may cause
exceptions (such as division by zero, and so on). These
statements make use of try and catch block, and finally
class vehicle
{
public static void main(String args[])
{ int x = args.length;
for(int i=0; i<x; i++)
{
System.out.println(args[i]);
}
}
}
Output
(After compiling, type the following lines on the command prompt. It produces the output as)
C:\> Java vehicle Car Cycle Motorbike
Car
Cycle
Motorbike
class Sum {
public static void main{String args)
int s=1;
for(int i=0; i<args.length; i++){
s=s+Integer.parseInt(args[i]);
Output
After compiling, the following lines are typed on the command prompt:
It produces the output as
13
Declaration of Variables
• A program may involve variables: variables are objects whose values may change in the
program.
• A variable is declared by first writing its type, followed by its name or identifier as illustrated
here.
• However, a variable should also be initialized, that is, a value should be assigned to it before
it is used in an expression. The line ends with a semicolon (:) as shown in the above figure.
Examples:
Program 2.4 illustrates the declaration and output of some data types
class PrintOut
{
public static void main (String args[])
{
String name = "Sunita"; //"name" is variable, value is "Sunita"
String str = "Hello"; //String set has value- "Hello!"
int length = 50; // Variable name "length", value 50
int width = 8; // Variable name "width" value 8
System.out.print("Name= " + name);
System.out.print("Str = "+ str); //print statement
System. out.println();
System.out.println("Length "+ length);
System. out.println("Width " + width);
c:\>javac PrintOut.java
c:\>java PrintOut
Name= Sunita
Str = Hello
14
Length 50
Width 8
HelloSunita
• The class Scanner of package java.util to carry out input to the program.
• Java Scanner class is a text scanner that breaks the input into tokens using a delimiter.
The delimiter is whitespace by default.
• Importing the class is the first step.
import java.util.Scanner;
• The object of the class Scanner is declared as follows.
Scanner scaninput = new Scanner (System. in);
• The object “scaninput” invokes the method nextInt() which reads the value typed by the
user. This value is assigned to n. The value of m is similarly obtained.
• The other useful methods of Scanner class are nextDouble() and nextLine().
Output
C:\>javac Arithmetic.java
C:\>java Arithmetic
Enter the value of n : 10
Enter the value of m : 3
15
Sum of two numbers is =13
Product of two numbers is =30
Modulus of (n % m) is =1
Division of two numbers is =3
C:\>
7. Escape Sequences
Escape Sequences character is preceded by a backslash (\)has a special meaning to the
compiler. Escape sequences are as follows.
class Escape
{
public static void main(String[] args)
{
int n=256, a=0, b=70;
System.out.println("Value of a =" + a + "\n b= "+b +"\n");
System.out.println("\u0041 \t" + " \u0042 \t"+"\132");
System.out.println("\"Value of b\" = "+b);
System.out.println("\'Value of n\' = " +n);
}
}
Output:
16
C:\>javac Escape.java
C:\>java Escape
Value of a =0
b= 70
A B Z
"Value of b" = 70
'Value of n' = 256
8. Comments
• Comments are Line of Text which is not a part of the compiled program.
• Comments are used for documentation to explain source code.
• They are added to the source code of the program.
• Java supports three types of comments as:
1. Single-line comment: These comments are started with two front slash
characters (//) Example:
// This is Single line comment
3. Documentation comment: These comments are enclosed with /** and */. It
is different from multi line comments in that it can extracted by javadoc
utility to generate an HTML document for the program.
Example:
/** It is documentation
Comments */
9. Programming Style.
• An analysis of the programming exercises will throw some light on the look and feel of a
program. The team members should easily understand each other's code.
• For a beginner, it is better to develop a habit of writing a program in a proper style so that
there is no conflict between the current habits and the company's imposition of style rule at
a later stage.
• There are no set patterns of good style and bad style: however, if the programmer takes care
of a few requirements on the programs as discussed, the resulting style will be better
1. The program should present a clean and orderly look. In order to develop a clean program,
the programmer can adapt the following measures:
(b) Indenting is another method often used to improve the looks and readability
17
(c) Use of Lambda expression and method reference of Java 8 enhances the look (d) Include a space
2. The program should be easy to understand. The programmer should take care of the
following aspects:
(a) If it is team work, certain conventions about naming should be preset so that a team member
can easily identify an item.
(b) The makers of Java have a set of rules which are followed in the Java library. The same rules
or an even better convention may be set.
(c) Judicial use of comments can increase understandability. Use of too many comments makes
confusion in the program.
(d) It is better to use already defined and tested library methods rather than user-defined
methods
3. Debugging should be easy. The programmer may adopt the following measures to ensure
easy debugging.
(a) The vertical alignment of a similar item enhances the ability to find errors.
(c) The variables should be declared close to the places of their use
(d) If it is a big program, it should be divided into small segments. In Java, it is easy because the
program may comprise separate classes.
(c) The names used should imply the output type such as price, weight, length, and so on.
(a) The program should be easily modifiable to ensure simplicity in fixing errors.
18
(b) The comments can help in modification of the program, fixing errors.
6. The program should be fail-safe. The failure of a program should not be catastrophic.
19
II. Data Types Variables and Operators :
I. Primitive data
4. Arrays
5. Methods
The primitive data and their types are defined independent of the classes and interfaces, and the
arrays and methods derive their types from the first three entities.
An array is n collection of items that may be of primitive type, class objects, or references. The
type of an array can be determined from the type of elements present in it.
• Data Type is the type of the data which computer accepts. Every variable and expression has
a data type that is known at the compile time.
Every variable has a type, every expression has the type and all types are strictly defined. More over
every assignment should be checked by the compiler for the type compatibility.
Hence Java language is considered as "strongly Typed Language".
Data types are classified into two types there are,
1. Primitive Data Types
Java is not considered as pure or fully Object Oriented language, because several oops features
(Multiple inheritance, Operators overloading, etc) are not supported by java. More over we are
depending on primitive data types which are non objects
Primitive Data types:-
Data which is supported by Language directly is called Primitive Data. Primitive data is
divided into 2 types there are,
1) Numerical Data:
a) Integral Data
b) Floating Point Data
2) Non Numerical Data
a) char Data Type (To represent Characters)
b) boolean Types(To represent logical values).
20
Note:-
Expect boolean and char all remaining data types are considered as signed data types because we can
represent both +ve and -ve numbers.
type Identifier;
Here type is the primitive data type and Identifier is the name of the variable.
Ex:
Non-primitive Types
These are the class and interface types. The name of a class or interface is the name of type.
A class object is declared as
Class_identifier object_identifier;
21
Interface_identifier reference_identifier;
Example:
Data Types
i. Integers
Integers are whole numbers, that is, they represent numbers that do not have a fractional part.
The integers can be declared in four types according to the size of memory allocated for them
byte
short
int
long
class DataType
{ public static void main (String args[])
{
byte a= 4, b=8 ;// variables of type byte short c
= 67, d = 98; // variables of type short int e = 7000,
f = 20000; // variables of type int long secondsInYear =
365 * 24 * 60 * 60; // long type
//e=d+f;
System.out.println("(b + a) = " + (b+a));
System.out.println("b + a = " + b + a);
System.out.println("c = "+ c + " \td = " + d);
System.out.println("e = " + e + "\t f= " + f);
System.out.println("Seconds in a year = "+ secondsInYear);
}
} Output:
22
C:\ >java DataType (b + a)
= 12 b + a = 84 c = 67 d
= 98 e = 7000 f=
20000
Seconds in a year = 31536000
ii. Characters
• A variable may have value in terms of a character in which the type of variable is char.
• These characters represent integer values.
• Java supports Unicode for the representation of characters.
• Unicode supports all the character sets of all the major languages of the world.
• The initial version of Unicode allocated 2 bytes for storing characters.
• The range of values for characters in the initial version of Unicode comprised from ‘\u0000’ to
‘\uffff ’ that is from 0 to 65535 both end values inclusive.
class Datachar {
public static void main (String args[])
{
char ch1='E', ch2, ch3 ;
ch2=ch1++;
System.out.println("ch2 =" + ch2); // printing ch2
ch3=++ch1;
System.out.println("ch3 =" + ch3); // printing ch3
}
} Output:
C:\ >javac Datachar.java
C:\ >java Datachar ch1 =E
ch2 =E ch3 =G
iii. Floating Point Numbers
• The numbers that are not whole numbers, or those that have fractional part, Examples are
3.141, 476.6, and so on.
• Java supports two types of such numbers.
Float: This type is used for single-precision decimal floating point numbers, that is, 7 digits after
the decimal point. These numbers are stored on 4 bytes.
Program 3.4: Illustration for working with float and double data
class FloatType
{ public static void main (String args[])
{
float width =20.0f, length = 40.5f;
float rectArea = length * width;
C:\>javac FloatType.java
C:\>java FloatType
Width = 20.0
Length = 40.5
Rectangle Area = 810.0
Diameter 10.0
Area of Circle = 78.53975
If the aforementioned logical statement is correct, The value of a is true, otherwise the value
of a is false. In Java true and false are not converted into numerical values, which is the
case in other Languages. A boolean type variable is allocated to one byte, that is, 8 bits for
storing its values Program
class Boolean
{
public static void main (String args[])
{
double x= 5.5, y=10.5, p=4.0;
int n=40, m=50;
boolean a,b,c,d;
a= x>y;
b= y>p;
c= y==x;
d= x<=y;
24
System.out.println("a = " + a +" and b =" +b);
System.out.println("Now c= "+c+ " and d = "+d);
}
}
C:\>javac Boolean.java
3. Type Casting
Converting one data type to another data type is called as Type Casting. There are two types of
type casting. They are,
i. Implicit Type casting
ii. Explicit Type casting
25
d=c/a;
k=a+y;
e = a + (int)y;
z=(double)c/a;
Output
• A variable declared in a class has class scope and scope of a variable declared in a method has
method scope.
• The variables declared in a block have block scope.
• Thus, the variables defined in main() at the beginning have scope in entire main() method,
however, those defined in a block have block scope.
• A block starts with the left brace ( { ) and ends with the right brace ( } ).
In the case of nested blocks of statements, the scope of variables is governed by the following rules.
1. The scope starts from the point the variable is defined in the block (declared and value
assigned to it).
2. Although the variable may be defined anywhere in a block, it can be used only in the
statements appear ing after its definition Therefore, there is no use in defining a variable at
the end of block.
If there are nested blocks, a variable defined in the outer block is visible in the inner blocks
also and it cannot be redefined with the same name in the inner blocks Program 3.10:
Illustration of block scope
E:\>javac ScopeA.java
E:\>java ScopeA
Class Scope variable - outside main() x = 5
Variable y Scope within main() y = 10
Variable z Scope within Anonymous Block z = 20
E:\>java ScopeA
i. Literal Constants
A Symbolic constant is a variable whose value does not change throughout the program. Some
of the examples include PL NORTH, EAST etc.
27
It is usually preferred to declare the symbolic constants using all the capital letters in a program
as follows:
C:\>javac SymbolicConst.java
C:\>java SymbolicConst
radius=25.0
Perimeter of circle = 157.079632675
2. By method printf()
• The formatting string specifics the output format for each variable that consists of percent (%)
sign followed by a conversion letter.
• Thus, the format string for output of an integer and character is "X" and or respectively.
• The order of variables in variable list should match with the list of formats in formatting
string.
• The following Table lists the conversion letters for different types of variables.
Program 3.14: illustration of formatting strings for output of different types of variables
class FormatPrintf
{
public static void main(String args[])
{
int n = 713;
float x = 45.86f;
double d= 56.754;
Output
C:\>javac FormatPrintf.java
C:\>java FormatPrintf
713 45.860001 56.754000 A Delhi
Hexadecimal value of 163 = A3
Octal value of 163 = 243
Static Variables:
• The static variables are class variables. Only one copy of such variables is kept in the
memory and all the objects share that copy.
• The static variables are accessed through class reference, whereas the instance variables
are accessed through class object reference
• The variables in a class may be modified by modifier static.
• The non-static variables declared in a class are instance variables Each object of the class
keeps a copy of the values of these variables.
Static Methods:
• The static methods are similar to class methods and can be invoked without any reference of
object of class, however, class reference (name of class) is needed, as in the following
example The method like sart() is declared as static method in Math class and is called
The static method is called using the method name that is preceded by the class name; in this case.
Math and period ().
30
}
}
E:\>javac StaticMethods.java
E:\>java StaticMethods
The Square root root of 16 = 4.0
The cubroot root of 27 = 3.0
Random Number 1 = 77
Random Number 2 = 69
Random Number 3 = 83
Random Number 4 = 2
Random Number 5 = 66
E:\>java StaticMethods
The Square root root of 16 = 4.0
The cubroot root of 27 = 3.0
Random Number 1 = 67
Random Number 2 = 31
Random Number 3 = 10
Random Number 4 = 13
Random Number 5 = 40
8. Attribute Final
Final Variable:
The value of a variable declared final cannot be changed in the program. It makes the variable
a constant. A few examples of declarations are as follows:
• As mentioned in the comments, the values of PI, M, and x cannot be changed in their respective
scopes.
Final Method:
• The attribute final may be used for methods as well as for classes. These are basically connected
with inheritance of classes.
• When final keyword is used with Java method, it becomes the final method.
• A final method cannot be overridden in a sub-class.
Final Class:
31
• A Java class with final modifier is called final class A final class cannot be sub-classed or
inherited. Several classes in Java are final including String, Integer, and other wrapper classes.
• There are certain important points to be noted when using final keyword in Java
i. New value cannot be reassigned to a variable defined as final in Java.
ii. Final keyword can be applied to a member variable, local variable, method, or
class. iii. Final member variable must be initialized at the time of declaration.
iv. Final method cannot be overridden in Java
v. Final class cannot be inheritable in Java
vi. Final is different from finally keyword, which is used on Exception handling in Java
Example- 1:
public class Final
{
public static void main (String args[])
{
Output:
C:\>javac Final.java
Final.java:13: error: cannot assign a value to final variable f
f = 60; // Error : f is final variable can not be changed
^
1 error
C:\>
Example-2:
public class Final
{
public static void main (String args[])
{
C:\>java Final
n = 10 f = 20 n
= 50
9. Introduction to Operators
An operator is a symbol that tells the computer to perform certain mathematical and
logical calculations.
-The different types of Java operators are,
a) Arithmetic operators
b) Relational operators
c) Logical operators
d) Increment or decrement operators
e) Assignment operators
f) Conditional operators
g) Bitwise operators
h) Special operators
33
11.Assignment Operator ( = ) Assignment
operators:
-Assignment operators are used to assign the result of an expression to a variable.
Operator Meaning
= Assignment
-In addition, java has a set of short-hand assignment operators of the form
V OP=EXP;
- It is equivalent to
V=V OP EXP;
-The short-hand assignment operators are
+= , -= , *= , /= , %=
Example:
a+=b ------------- a=a+b
a-=b ------------- a=a-b
a*= b -------------- a=a*b
a/=b --------------- a=a/b
a%=b ------------- a=a%b
Example: if(a>b)
System.out.println(“a is greater”);
else
System.out.println (“b is greater”);
15.Relational Operators
-The comparison between two operands or expressions is done with the help of relational operators.
Operator Meaning
< Less than
<= Less than or equal to
> Greater than
>= Greater than or equal to
== Equality
!= Inequality
Example:
a>b
a>=b
a<b
a<=b
a==b
a!=b
35
|| Logical OR
! Logical NOT
-The logical operators &&, || are used when we we want to test more than one condition.
&& - used when all the conditions must be true.
|| - used when any of the conditions must be true.
Operator Meaning
& Bitwise AND
| Bitwise OR
^ Bitwise exclusive OR
~ One’s complement
Bitwise AND operator:
-The Bitwise AND (&) is a binary operator that requires two integral operands(character
or integer).
-It does a bit-by-bit comparison between two operands.
-The result of the comparison is 1 only when both bits are 1, otherwise it is 0.
First operand bit Second operand bit Result(&)
0 0 0
0 1 0
1 0 0
1 1 1
36
Bitwise OR operator:
-The Bitwise inclusive OR (|) is a binary operator that requires two integral
operands(character or integer).
-It does a bit-by-bit comparison between two operands.
-The result of the comparison is 0 only when both bits are 0, otherwise it is 1.
37
Operand1 << Operand2;
-Here, Operand1 is value to be shifted.
Operand2 is number of bits to be shifted.
38
III. Control Statements:
1. Introduction
CONTROL STATEMENTS: (FLOW OF CONTROL)
- A Control statement is a statement used to control the flow of execution in a Java Program.
SELECTION STATEMENTS:
-Also called as conditional or decision-making control statements.
-There are two types in Selection control statements.
i) Two-way selection control statements
ii) Multi-way selection control statements
i) Two-way selection control statements: -
The different two-way selection statements are,
a) if-else statement
b) null else statement
c) Nested-if statement
Syntax:
if(condition)
{ statements;
}
next statement;
Example: if(a==2)
{ p++;
}
System.out.println(“program over”);
3. Nested if Expressions
-if within if is called as Nested-if. Syntax:
if(condition-1)
{ if(condition-2)
{
39
Statement-1;
}
else
{
Statement-2;
}
} else {
if(condition-3)
{
Statement-3;
} else
{
Statement-4;
}
} next
statement;
Example:
if(a>b)
{ if(a>c)
{
System.out.println(“a is greater”);
}
else
{
System.out.println (“c is greater”);
}
} else
{ if(b>c)
{
System.out.println(“b is greater”);
}
else
{
System.out.println(“c is greater”);
}
}
4. if–else Expressions Syntax:
if(condition)
{ true-block statements;
} else { false-block
statements;
} next
statement;
40
Example:
if(a>b)
{
System.out.println(“a is greater”);
}
else
{
System.out.println(“b is greater”);
}
Example:
if(a>b&&a>c&&a>d)
{
System.out.println(“a is greater”);
}
else if(b>a&&b>c&&b>d)
{
System.out.println(“b is greater”);
}
else if(c>a&&c>b&&c>d)
{
System.out.println(“c is greater”);
}
else
{
System.out.println(“d is greater”);
}
41
5. Ternary Operator?:
In Java, the ternary operator is a type of Java conditional operator. The meaning of ternary is
composed of three parts.
The ternary operator (? :) consists of three operands. It is used to evaluate Boolean
expressions. The operator decides which value will be assigned to the variable. It is the only
conditional operator that accepts three operands.
It can be used instead of the if-else statement. It makes the code much more easy, readable, and
shorter.
Syntax:
Expression1 ? Expression2 : Expression3
Example-1:
int a=10;
int b = (a<20)? 100 :200; // a < 20 if statement
System.out.println("b= "+b);
}
}
Output:
C:\>javac Ternary.java
C:\>java Ternary b= 100
Example-2:
Example:
switch(digit)
{
case 0: System.out.println(“ZERO”);break; case 1:
System.out.println(“ONE”);break; case 2:
System.out.println(“TWO”);break; case 3:
System.out.println(“THREE”);break; case 4:
System.out.println(“FOUR”);break; case 5:
System.out.println(“FIVE”);break; case 6:
System.out.println(“SIX”);break; case 7:
System.out.println(“SEVEN”);break; case 8:
System.out.println(“EIGHT”);break; case 9:
System.out.println(“NINE”);break; default:
System.out.println(“Enter between 0-9”); }
7. Iteration Statements
LOOP STATEMENTS:
-The iteration control statements are also called as Repetition or Iteration control statements.
-A looping process includes the following four steps.
-Setting and initialization of a counter.
-Execution of the statements in the loop body.
-Test for a specified condition (loop control expression) for execution of a loop -
Incrementing or Decrementing counter.
i) Pretest and Posttest loops:
-In a Pretest loop, the condition is checked before we execute a loop body.
-It is also called as entry-controlled loop.
-In the Posttest loop, we always execute the loop body atleast once. -It
is also called as exit-controlled loop.
while Expression
a) while statement:
Syntax:
while(condition)
{
loop body;
43
}
next statement;
Example: n=10,i=1,sum=0;
while(i<=n)
{
sum=sum+i; i++;
}
System.out.println(“sum=”+sum);
Example:
n=10,i=1,sum=0; do
{ sum=sum+i; i++;
} while(i<=n);
System.out.println(“sum=”+sum);
for statement:
Syntax: for(initialization;condition;inc or dec)
{
loop body;
}
next statement;
Example:
n=10,i,sum=0; for(i=1;i<=n;i++)
{
sum=sum+i;
}
System.out.println(“sum=”+sum);
for(initialization;condition;inc or dec)
{
for(initialization;condition;inc or dec)
{
Inner loop body;
}
44
} next
statement;
Example: n=10,i, j,
sum=0;
for(i=1;i<=n;i++)
{
sum=sum+i;
}
System.out.println(“sum=”+sum);
The Java for-each loop or enhanced for loop. It provides an alternative approach to traverse the array
or collection in Java. It is mainly used to traverse the array or collection elements. The advantage of
the for-each loop is that it eliminates the possibility of bugs and makes the code more readable. It is
known as the for-each loop because it traverses each element one by one.
Advantages:
1. Less clutter in code, especially when iterators are used.
2. Less chances of errors.
3. Improves overall readability of program. Limitations:
1. It is designed to iterate in forward direction only.
2. In iteration, it takes a single step at a time.
3. It cannot simultaneously traverse multiple arrays or collections. Syntax:
Output:
45
C:\>javac ForEach.java
C:\>java ForEach
10
20
30
40
50
13.Break Statement
Unconditional control statements: -
The unconditional control statements are,
a) break statement
b) continue statement
break statement:
-The break statement skips from the loop or block in which it is defined.
-The control then automatically goes to the first statement after the loop or block.
-The general format is
break;
Example:
C:\>java Break
0
1
2
3
4
46
Here loop is stopped due to break statement.
Example:
Here 5 is not printed because of continue statement. The Iteration at the condition i = =5 is skipped
or jumped to next statement.
47