Control Flow and Loop Structures in Java

Control Flow Overview

In program execution, the order of statement execution directly impacts the outcome. Therefore, understanding the flow of execution and controlling it is essential for implementing desired functionalities.

Sequential Execution

Statements execute in the order they are written:

public static void main(String[] args) {
    System.out.println(1);
    System.out.println(2);
    System.out.println(3);
}

Conditional Statemenst

If Statement

The if statement evaluates a boolean expressoin:

if (condition) {
    // execute if condition is true
}

Example:

public static void main(String[] args) {
    System.out.println("Start");
    int a = 10;
    int b = 20;
    
    if (a == b) {
        System.out.println("a equals b");
    }
    
    int c = 10;
    if (a == c) {
        System.out.println("a equals c");
    }
    
    System.out.println("End");
}

If-Else Statement

if (condition) {
    // execute if condition is true
} else {
    // execute if condition is false
}

Example:

public static void main(String[] args) {
    int num = 1;
    if (num % 2 == 0) {
        System.out.println("Even number");
    } else {
        System.out.println("Odd number");
    }
    System.out.println("End");
}

If-Else-If Chain

if (condition1) {
    // execute if condition1 is true
} else if (condition2) {
    // execute if condition2 is true
} else {
    // execute if all conditions are false
}

Example:

public static void main(String[] args) {
    int x = 5;
    int y;
    
    if (x >= 3) {
        y = 2 * x + 1;
    } else if (x >= -1 && x < 3) {
        y = 2 * x;
    } else {
        y = 2 * x - 1;
    }
    
    System.out.println("y value is: " + y);
}

Switch Statement

switch (expression) {
    case value1:
        // execute
        break;
    case value2:
        // execute
        break;
    default:
        // execute
        break;
}

Example:

public static void main(String[] args) {
    int day = 3;
    switch (day) {
        case 1:
            System.out.println("Monday");
            break;
        case 2:
            System.out.println("Tuesday");
            break;
        case 3:
            System.out.println("Wednesday");
            break;
        default:
            System.out.println("Invalid day");
    }
}

Loop Structures

Loops repeat code execution based on a condition. Proper loop termination is crucial to avoid infinite loops.

For Loop

for (initialization; condition; increment) {
    // loop body
}

Example: Sum of even numbers from 1 to 100

public static void main(String[] args) {
    int sum = 0;
    for (int i = 2; i <= 100; i += 2) {
        sum += i;
    }
    System.out.println("Sum of even numbers: " + sum);
}

While Loop

initialization;
while (condition) {
    // loop body
    increment;
}

Example: Print Hello World 10 times

public static void main(String[] args) {
    int counter = 0;
    while (counter < 10) {
        System.out.println("Hello World" + (counter + 1));
        counter++;
    }
}

Do-While Loop

counter = 0;
do {
    // loop body
    counter++;
} while (condition);

Example:

public static void main(String[] args) {
    int count = 0;
    do {
        System.out.println("Hello World" + (count + 1));
        count++;
    } while (count < 10);
}

Loop Control

Break Statement

Used to exit loops or switch statements:

for (int i = 1; i <= 10; i++) {
    if (i == 3) {
        break;
    }
    System.out.println("Hello World" + i);
}

Continue Statement

Skips the current iteration:

for (int i = 1; i <= 10; i++) {
    if (i == 3) {
        continue;
    }
    System.out.println("Hello World" + i);
}

Nested Loops

for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 8; j++) {
        System.out.print("*");
    }
    System.out.println();
}

Method Overloading

Multiple methods with the same name but different parameters:

public static boolean isEqual(byte a, byte b) {
    return a == b;
}

public static boolean isEqual(short a, short b) {
    return a == b;
}

public static boolean isEqual(int a, int b) {
    return a == b;
}

public static boolean isEqual(long a, long b) {
    return a == b;
}

Method overloads can differ in:

  • Number of parameters
  • Parameter types
  • Order of parameters

The JVM selects the correct method based on parameter types.

Tags: java control-flow loops conditional-statements method-overloading

Posted on Sun, 11 Oct 2026 16:41:48 +0000 by fert