Java Control Statements | Control Flow
in Java
Java compiler executes the code from top to bottom. The
statements in the code are executed according to the order in which
they appear. However, Java provides statements that can be used to
control the flow of Java code. Such statements are called control
flow statements.
Java provides three types of control flow statements.
1. Decision Making statements
o if statements
o switch statement
2. Loop statements
o do while loop
o while loop
o for loop
o for-each loop
3. Jump statements
o break statement
o continue statement
1. Decision-Making statements:
As the name suggests, decision-making statements decide which
statement to execute and when. Decision-making statements
evaluate the Boolean expression and control the program flow
depending upon the result of the condition provided. There are two
types of decision-making statements in Java, i.e., If statement and
switch statement.
1) If Statement:
In Java, the "if" statement is used to evaluate a condition. The
control of the program is diverted depending upon the specific
condition. The condition of the If statement gives a Boolean value,
either true or false. In Java, there are four types of if-statements
given below.
1. Simple if statement
2. if-else statement
3. if-else-if ladder
4. Nested if-statement
Let's understand the if-statements one by one.
1) Simple if statement:
It is the most basic statement among all control flow statements in
Java. It evaluates a Boolean expression and enables the program to
enter a block of code if the expression evaluates to true.
Syntax of if statement is given below.
if(condition) {
statement 1; //executes when condition is true
}
Consider the following example in which we have used
the if statement in the java code.
[Link]
public class Student {
public static void main(String[] args) {
int x = 10;
int y = 12;
if(x+y > 20) {
[Link]("x + y is greater than 20");
}
}
}
Output:
x + y is greater than 20
2) if-else statement
The if-else statement is an extension to the if-statement, which uses
another block of code, i.e., else block. The else block is executed if
the condition of the if-block is evaluated as false.
Syntax:
if(condition) {
statement 1; //executes when condition is true
}
else{
statement 2; //executes when condition is false
}
Consider the following example.
[Link]
public class Student {
public static void main(String[] args) {
int x = 10;
int y = 12;
if(x+y < 10) {
[Link]("x + y is less than 10");
} else {
[Link]("x + y is greater than 20");
}
}
}
Output:
x + y is greater than 20
3) if-else-if ladder:
The if-else-if statement contains the if-statement followed by
multiple else-if statements. In other words, we can say that it is the
chain of if-else statements that create a decision tree where the
program may enter in the block of code where the condition is true.
We can also define an else statement at the end of the chain.
Syntax of if-else-if statement is given below.
if(condition 1) {
statement 1; //executes when condition 1 is true
}
else if(condition 2) {
statement 2; //executes when condition 2 is true
}
else {
statement 2; //executes when all the conditions are false
}
Consider the following example.
[Link]
public class Student {
public static void main(String[] args) {
String city = "Delhi";
if(city == "Meerut") {
[Link]("city is meerut");
}else if (city == "Noida") {
[Link]("city is noida");
}else if(city == "Agra") {
[Link]("city is agra");
}else {
[Link](city);
}
}
}
Output:
Delhi
4. Nested if-statement
In nested if-statements, the if statement can contain a if or if-
else statement inside another if or else-if statement.
Syntax of Nested if-statement is given below.
if(condition 1) {
statement 1; //executes when condition 1 is true
if(condition 2) {
statement 2; //executes when condition 2 is true
}
else{
statement 2; //executes when condition 2 is false
}
}
Consider the following example.
[Link]
public class Student {
public static void main(String[] args) {
String address = "Delhi, India";
if([Link]("India")) {
if([Link]("Meerut")) {
[Link]("Your city is Meerut");
}
else if([Link]("Noida"))
{
[Link]("Your city is Noida");
}
else
{
[Link]([Link](",")[0]);
}
}
else
{
[Link]("You are not living in India");
}
}
}
Output:
Delhi
Switch Statement:
In Java, Switch statements are similar to if-else-if statements. The
switch statement contains multiple blocks of code called cases and
a single case is executed based on the variable which is being
switched. The switch statement is easier to use instead of if-else-if
statements. It also enhances the readability of the program.
Points to be noted about switch statement:
o The case variables can be int, short, byte, char, or
enumeration. String type is also supported since version 7 of
Java
o Cases cannot be duplicate
o Default statement is executed when any of the case doesn't
match the value of expression. It is optional.
o Break statement terminates the switch block when the
condition is satisfied.
It is optional, if not used, next case is executed.
o While using switch statements, we must notice that the case
expression will be of the same type as the variable. However,
it will also be a constant value.
The syntax to use the switch statement is given below.
switch (expression){
case value1:
statement1;
break;
.
.
.
case valueN:
statementN;
break;
default:
default statement;
}
Consider the following example to understand the flow of the switch
statement.
[Link]
public class Student implements Cloneable {
public static void main(String[] args) {
int num = 2;
switch (num){
case 0:
[Link]("number is 0");
break;
case 1:
[Link]("number is 1");
break;
default:
[Link](num);
}
}
}
Output:
2
While using switch statements, we must notice that the case
expression will be of the same type as the variable. However, it will
also be a constant value. The switch permits only int, string, and
Enum type variables to be used.
2. Loop Statements
In programming, sometimes we need to execute the block of code
repeatedly while some condition evaluates to true. However, loop
statements are used to execute the set of instructions in a repeated
order. The execution of the set of instructions depends upon a
particular condition.
In Java, we have three types of loops that execute similarly.
1. for loop
2. while loop
3. do-while loop
Let's understand the loop statements one by one.
Java for loop
In Java, for loop is similar to C and C++. It enables us to initialize
the loop variable, check the condition, and increment/decrement in
a single line of code. We use the for loop only when we exactly know
the number of times, we want to execute the block of code.
for(initialization; condition; increment/decrement) {
//block of statements
}
The flow chart for the for-loop is given below.
Consider the following example to understand the proper
functioning of the for loop in java.
[Link]
public class Calculattion {
public static void main(String[] args) {
int sum = 0;
for(int j = 1; j<=10; j++) {
sum = sum + j;
}
[Link]("The sum of first 10 natural numbers is " +
sum);
}
}
Output:
The sum of first 10 natural numbers is 55
Java for-each loop
Java provides an enhanced for loop to traverse the data structures
like array or collection. In the for-each loop, we don't need to update
the loop variable. The syntax to use the for-each loop in java is
given below.
for(data_type var : array_name/collection_name){
//statements
}
Consider the following example to understand the functioning of the
for-each loop in Java.
[Link]
public class Calculation {
public static void main(String[] args) {
String[] names = {"Java","C","C++","Python","JavaScript"};
[Link]("Printing the content of the array names:\
n");
for(String name:names) {
[Link](name);
}
}
}
Output:
Printing the content of the array names:
Java
C
C++
Python
JavaScript
Java while loop
The while loop is also used to iterate over the number of statements
multiple times. It is also known as the entry-controlled loop since
the condition is checked at the start of the loop. If the condition is
true, then the loop body will be executed; otherwise, the statements
after the loop will be executed.
The syntax of the while loop is given below.
while(condition){
//looping statements
}
The flow chart for the while loop is given in the following image.
Consider the following example.
Calculation .java
public class Calculation {
public static void main(String[] args) {
int i = 0;
[Link]("Printing the list of first 10 even numbers \
n");
while(i<=10) {
[Link](i);
i = i + 2;
}
}
}
Output:
Printing the list of first 10 even numbers
0
2
4
6
8
10
Java do-while loop
The do-while loop checks the condition at the end of the loop after
executing the loop statements. When the number of iteration is not
known and we have to execute the loop at least once, we can use
do-while loop.
It is also known as the exit-controlled loop since the condition is not
checked in advance. The syntax of the do-while loop is given below.
do
{
//statements
} while (condition);
The flow chart of the do-while loop is given in the following image.
Consider the following example to understand the functioning of the
do-while loop in Java.
[Link]
public class Calculation {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 0;
[Link]("Printing the list of first 10 even numbers \
n");
do {
[Link](i);
i = i + 2;
}while(i<=10);
}
}
Output:
Printing the list of first 10 even numbers
0
2
4
6
8
10
3. Jump Statements
Jump statements are used to transfer the control of the program to
the specific statements. In other words, jump statements transfer
the execution control to the other part of the program. There are
two types of jump statements in Java, i.e., break and continue.
Java break statement
As the name suggests, the break statement is used to break the
current flow of the program and transfer the control to the next
statement outside a loop or switch statement.
The break statement cannot be used independently in the Java
program, i.e., it can only be written inside the loop or switch
statement.
The break statement example with for loop
Consider the following example in which we have used the break
statement with the for loop.
[Link]
public class BreakExample {
public static void main(String[] args) {
for(int i = 0; i<= 10; i++) {
[Link](i);
if(i==6) {
break;
}
}
}}
Output:
0
1
2
3
4
5
6
Java continue statement
Unlike break statement, the continue statement doesn't break the
loop, whereas, it skips the specific part of the loop and jumps to the
next iteration of the loop immediately.
Consider the following example to understand the functioning of the
continue statement in Java.
public class ContinueExample {
public static void main(String[] args) {
for(int i = 0; i<= 2; i++) {
for (int j = i; j<=5; j++) {
if(j == 4) {
continue;
}
[Link](j);
}
}
} }
Output:
0
1
2
3
5
1
2
3
5
2
3
5