Control Structures in Java — Conditional statements
We all know that a program is composed of a lot of data and a list of well-defined instructions (about how to access those data) in order to provide functionality or service. Data in a program can be understood when you have an idea about the variables and data structures. But to impose the instructions properly you must know about the control structures and statements.
A control structure is a syntactic form in a programming language that expresses the flow of control over a specific list of instructions to make decisions among the alternate path or given paths and executes the instructions in the sequence in which they appear, one by one. This condition is called sequence accomplishment. In computer programming, the statement that will be accomplished next is not necessarily located in the next line. This scenario is known as the transfer of program control.
In Java, there are three types of control structures. And we are going to see about one of them.
Conditional Branches or Statements: for choosing between two or more paths. There are three types in Java:
- if/else/else if
If the statement is the most simple decision-making statement in Java. We can use this to decide whether a certain statement or block of statements will be executed or not. Simply, if a certain condition is true then a block of the statement will be executed otherwise not.
Syntax
if(condition){
//code to be executed if the condition is true
}
If the test expression is evaluated to true, statements inside the body of if are executed. If the test expression is evaluated to false, statements inside the body of if are skipped.
int Marks=80;
if(Marks>50){
System.out.print(“You have passed the exam”);
}
For else (and else if), in addition to the condition check using if, here we include an alternative choice (maybe choices) by including else (and else if). You can combine an else and an if to make an else if and test a whole range of mutually exclusive possibilities. Simply, by using else art, we can evaluate more than 1 condition at a time (if required).
Syntax
if(condition){
//code to be executed if the condition is true
}else{
//code to be executed if the above condition is false
}
int count=3;
if (count > 2) {
System.out.println("Count is higher than 2");
} else {
System.out.println("Count is lower or equal than 2");
}
In case of if, else if; Syntax
if(condition1){
//code to be executed if the condition1 is true
}else if(condition2){
//code to be executed if condition2 is true
}
else if(condition3){
//code to be executed if condition3 is true
}
…
else{
//code to be executed if all the above conditions are false
}
int i = 20;
if (i == 10){
System.out.println(“i is 10”);
}else if (i == 15){
System.out.println(“i is 15”);
}else if (i == 20){
System.out.println(“i is 20”);
}else{
System.out.println(“i is not present”);
}
- Nested if
Nested if statements mean an if statement inside an if statement.
Syntax
if (condition1)
{
// Executes when condition1 is true
if (condition2)
{
// Executes when condition2 is true
}
}
Since you know well about if, if-else, and if-else if, you can use the same way f programming in nested if statements.
Note: Theoretically, we can infinitely chain or nest if-else blocks but this will hurt code readability, and that’s why it’s not advised.
- switch
If we have multiple cases to choose from, we can use a switch statement (multi-way branch statement).
Syntax
switch(expression) {
case n:
code block
case n:
code block
default:
default code block
}
The switch expression (condition)is evaluated once and the value of the expression is compared with the values of each case. If there is a match, the associated block of code will be executed. It is not matched, the program will look for the optional default clause, and if found, transfers control to that clause, executing the associated statements.
Example
int inDay = 2;
String day;
switch (inDay) {
case 1: day = “Subday”;
case 2: day = “Monday”;
case 3: day = “Tuesday”;
case 4: day = “Wednesday”;
case 5: day = “Thursday”;
case 6: day = “Friday”;
case 7: day = “Saturday”;
default: day = “Invalid entry”;
}
System.out.println("Selected day is: " + day);
The output will be
Selected day is: Monday
Jump statements can be added in these control structures and we can discuss them in a separate topic.
We can use ternary operators as well in these Conditional Statements.
How? Check this if-else statements
if (count > 2) {
System.out.println(“Count is higher than 2”);
} else {
System.out.println(“Count is lower or equal than 2”);
}
This can be written as
System.out.println(count > 2 ? “Count is higher than 2” : “Count is lower or equal than 2”);
I hope you have got some idea about Conditional Statements. Do some practice in handling these.