
Java Tutorial
- Java - Home
- Java - Overview
- Java - History
- Java - Features
- Java Vs. C++
- JVM - Java Virtual Machine
- Java - JDK vs JRE vs JVM
- Java - Environment Setup
- Java - Hello World Program
- Java - Comments
- Java - Basic Syntax
- Java - Variables
- Java - Data Types
- Java - Type Casting
- Java - Unicode System
- Java - User Input
- Java - Date & Time
Java Operators
- Java - Operators
- Java - Arithmetic Operators
- Java - Assignment Operators
- Java - Relational Operators
- Java - Logical Operators
- Java - Bitwise Operators
- Java Operator Precedence & Associativity
Java Control Statements
- Java - Decision Making
- Java - If Else Statement
- Java - Switch Statement
- Java - Loop Control
- Java - For Loop
- Java - For-Each Loop
- Java - While Loop
- Java - Do While Loop
- Java - Break Statement
- Java - Continue Statement
Object Oriented Programming
- Java - OOPs Concepts
- Java - Object & Classes
- Java - Class Attributes
- Java - Class Methods
- Java - Methods
- Java - Variables Scope
- Java - Constructors
- Java - Access Modifiers
- Java - Inheritance
- Java - Aggregation
- Java - Polymorphism
- Java - Overriding
- Java - Method Overloading
- Java - Dynamic Binding
- Java - Static Binding
- Java - Instance Initializer Block
- Java - Abstraction
- Java - Encapsulation
- Java - Interfaces
- Java - Packages
- Java - Inner Classes
- Java - Static Class
- Java - Anonymous Class
- Java - Singleton Class
- Java - Wrapper Classes
- Java - Enums
- Java - Enum Constructor
- Java - Enum Strings
Java Built-in Classes
Java File Handling
- Java - Files
- Java - Create a File
- Java - Write to File
- Java - Read Files
- Java - Delete Files
- Java - Directories
- Java - I/O Streams
Java Error & Exceptions
- Java - Exceptions
- Java - try-catch Block
- Java - try-with-resources
- Java - Multi-catch Block
- Java - Nested try Block
- Java - Finally Block
- Java - throw Exception
- Java - Exception Propagation
- Java - Built-in Exceptions
- Java - Custom Exception
Java Multithreading
- Java - Multithreading
- Java - Thread Life Cycle
- Java - Creating a Thread
- Java - Starting a Thread
- Java - Joining Threads
- Java - Naming Thread
- Java - Thread Scheduler
- Java - Thread Pools
- Java - Main Thread
- Java - Thread Priority
- Java - Daemon Threads
- Java - Thread Group
- Java - Shutdown Hook
Java Synchronization
- Java - Synchronization
- Java - Block Synchronization
- Java - Static Synchronization
- Java - Inter-thread Communication
- Java - Thread Deadlock
- Java - Interrupting a Thread
- Java - Thread Control
- Java - Reentrant Monitor
Java Networking
- Java - Networking
- Java - Socket Programming
- Java - URL Processing
- Java - URL Class
- Java - URLConnection Class
- Java - HttpURLConnection Class
- Java - Socket Class
- Java - Generics
Java Collections
Java Interfaces
- Java - List Interface
- Java - Queue Interface
- Java - Map Interface
- Java - SortedMap Interface
- Java - Set Interface
- Java - SortedSet Interface
Java Data Structures
Java Collections Algorithms
Advanced Java
- Java - Command-Line Arguments
- Java - Lambda Expressions
- Java - Sending Email
- Java - Applet Basics
- Java - Javadoc Comments
- Java - Autoboxing and Unboxing
- Java - File Mismatch Method
- Java - REPL (JShell)
- Java - Multi-Release Jar Files
- Java - Private Interface Methods
- Java - Inner Class Diamond Operator
- Java - Multiresolution Image API
- Java - Collection Factory Methods
- Java - Module System
- Java - Nashorn JavaScript
- Java - Optional Class
- Java - Method References
- Java - Functional Interfaces
- Java - Default Methods
- Java - Base64 Encode Decode
- Java - Switch Expressions
- Java - Teeing Collectors
- Java - Microbenchmark
- Java - Text Blocks
- Java - Dynamic CDS archive
- Java - Z Garbage Collector (ZGC)
- Java - Null Pointer Exception
- Java - Packaging Tools
- Java - Sealed Classes
- Java - Record Classes
- Java - Hidden Classes
- Java - Pattern Matching
- Java - Compact Number Formatting
- Java - Garbage Collection
- Java - JIT Compiler
Java Miscellaneous
- Java - Recursion
- Java - Regular Expressions
- Java - Serialization
- Java - Strings
- Java - Process API Improvements
- Java - Stream API Improvements
- Java - Enhanced @Deprecated Annotation
- Java - CompletableFuture API Improvements
- Java - Streams
- Java - Datetime Api
- Java 8 - New Features
- Java 9 - New Features
- Java 10 - New Features
- Java 11 - New Features
- Java 12 - New Features
- Java 13 - New Features
- Java 14 - New Features
- Java 15 - New Features
- Java 16 - New Features
Java APIs & Frameworks
Java Class References
- Java - Scanner
- Java - Arrays
- Java - Strings
- Java - Date
- Java - ArrayList
- Java - Vector
- Java - Stack
- Java - PriorityQueue
- Java - LinkedList
- Java - ArrayDeque
- Java - HashMap
- Java - LinkedHashMap
- Java - WeakHashMap
- Java - EnumMap
- Java - TreeMap
- Java - IdentityHashMap
- Java - HashSet
- Java - EnumSet
- Java - LinkedHashSet
- Java - TreeSet
- Java - BitSet
- Java - Dictionary
- Java - Hashtable
- Java - Properties
- Java - Collection
- Java - Array
Java Useful Resources
Java if-else Statement
In Java, the if
statement is a conditional statement used to execute a block of code when a specified condition evaluates to true. If the condition is false, an optional else
statement can be used to execute an alternative block of code.
The if Statement
The if
statement in Java checks a Boolean expression and executes a specific block of code only if the condition is true.
The if-else Statement
The if-else
statement allows Java programs to handle both true and false conditions. If the condition inside the if
statement evaluates to false, the else
block is executed instead.
Using if-else statements in Java improves decision-making in programs by executing different code paths based on conditions.
Syntax of if-else Statement
Following is the syntax of an if...else statement −
if(Boolean_expression) { // Executes when the Boolean expression is true }else { // Executes when the Boolean expression is false }
If the boolean expression evaluates to true, then the if block of code will be executed, otherwise else block of code will be executed.
Flow Diagram
Below is the flowchart of the if-else statement, illustrating how it works:

Example of if else Statement
In this example, we're showing the usage of if else statement. We've created a variable x and initialized it to 30. Then in the if statement, we're checking x with 20. As if statement is false, the statement within the else block is executed.
public class Test { public static void main(String args[]) { int x = 30; if( x < 20 ) { System.out.print("This is if statement"); }else { System.out.print("This is else statement"); } } }
When the above code is compiled and executed, it produces the following result −
This is else statement
Ladder if (if else if) Statements
The if...else if...else statement is used for executing multiple code blocks based on the given conditions (Boolean expressions).
An if statement can be followed by an optional else if...else statement, which is very useful to test various conditions using a single if...else if statement.
Points to Remember
When using if-else if- else statements there are a few points to keep in mind.
An if can have zero or one else's and it must come after any else if's.
An if can have zero to many else if's and they must come before the else.
Once an else if succeeds, none of the remaining else if's or else's will be tested.
Syntax
Following is the syntax of an if...else if...else statement −
if(Boolean_expression 1) { // Executes when the Boolean expression 1 is true }else if(Boolean_expression 2) { // Executes when the Boolean expression 2 is true }else if(Boolean_expression 3) { // Executes when the Boolean expression 3 is true }else { // Executes when the none of the above condition is true. }
Example of Ladder if (if else if) Statements
In this example, we're showing the usage of if...else if...else statement. We've created a variable x and initialized it to 30. Then in the if statement, we're checking x with 10. As if statement is false, control jumps to else if statement checking another value with x and so on.
public class Test { public static void main(String args[]) { int x = 30; if( x == 10 ) { System.out.print("Value of X is 10"); }else if( x == 20 ) { System.out.print("Value of X is 20"); }else if( x == 30 ) { System.out.print("Value of X is 30"); }else { System.out.print("This is else statement"); } } }
When the above code is compiled and executed, it produces the following result −
Value of X is 30
Example of Multiple if-else Conditions
In this example, we're showing the usage of if...else if...else statement. We've created a variable x and initialized it to 30.0. Then in the if statement, we're checking x with 10,0. As if statement is false, control jumps to else if statement checking another value with x and so on.
public class Test { public static void main(String args[]) { double x = 30.0; if( x == 10.0 ) { System.out.print("Value of X is 10.0"); }else if( x == 20.0 ) { System.out.print("Value of X is 20.0"); }else if( x == 30.0 ) { System.out.print("Value of X is 30.0"); }else { System.out.print("This is else statement"); } } }
When the above code is compiled and executed, it produces the following result −
Value of X is 30.0
Nested if-else Statement
The nested if else statement is used for better decision-making when other conditions are to be checked when a given condition is true. In the nested if else statement, you can have an if-else statement block the another if (or, else) block.
Syntax
Below is the syntax of nested if else statement:
if(condition1){ // code block if(condition2){ //code block } }
Example of Nested if else Statement
The following examples finds the largest number among three using nested if..else statement.
public class Test { public static void main(String[] args) { int x = 10, y = 20, z = 30; if(x >= y) { if(x >= z) System.out.println(x + " is the largest."); else System.out.println(z + " is the largest."); } else { if(y >= z) System.out.println(y + " is the largest."); else System.out.println(z + " is the largest."); } } }
When the above code is compiled and executed, it produces the following result −
30 is the largest.
Use Cases of Java if-else Statement
The if-else
statement in Java is useful for making decisions based on conditions. Below are some common use cases:
- User Authentication: If-else statements are used to check whether a username and password match the stored credentials before granting access.
- Age Verification: They help determine if a user is eligible for certain actions, such as voting, driving, or accessing age-restricted content.
- Even or Odd Number Check: By using an if-else statement, a program can check whether a number is even or odd and execute the corresponding logic.
- Grading System: If-else conditions can assign letter grades based on numerical scores, such as assigning "A" for scores above 90 and "B" for scores between 80 and 89.
- Leap Year Check: The if-else statement is used to determine whether a given year is a leap year based on divisibility rules.
- Discount Calculation: It helps apply discounts based on purchase amounts, such as giving a 10% discount for orders above $100.
- Traffic Light Simulation: If-else statements can control traffic signals by checking the current state and switching between red, yellow, and green accordingly.
Rules for Using if-else Conditions
The if-else
statement in Java follows specific rules to ensure proper execution. Below are the key rules:
- Boolean Expression Required: The condition inside an
if
statement must be a Boolean expression that evaluates totrue
orfalse
. - Curly Braces for Multiple Statements: If there is more than one statement inside
if
orelse
, enclose them within{ }
curly braces. - Single Statement Optional Braces: If there is only one statement inside
if
orelse
, curly braces are optional but recommended for better readability. - Else is Optional: The
else
block is not mandatory; anif
statement can exist without anelse
. - Else Without If is Invalid: The
else
statement must always be associated with a precedingif
statement. - Nested if-else Allowed: You can place an
if
orelse if
statement inside anotherif
statement (nested if-else). - Multiple else-if Conditions: The
else if
condition can be used multiple times before the finalelse
statement. - Execution Order: Java executes the
if-else
conditions from top to bottom, and once a condition is met, the remaining conditions are ignored.