Loading...

Go Back

Next page
Go Back Course Outline

Java Full Course


Control flow in Java

Conditional Statements

Conditional statements allow your program to make decisions and execute different code blocks based on conditions.

if, else if, else:

Grade Classifier
public class GradeClassifier {
    public static void main(String[] args) {
        int score = 85;
        
        if (score >= 90) {
            System.out.println("Grade: A");
        } else if (score >= 80) {
            System.out.println("Grade: B");
        } else if (score >= 70) {
            System.out.println("Grade: C");
        } else if (score >= 60) {
            System.out.println("Grade: D");
        } else {
            System.out.println("Grade: F");
        }
    }
}
Output:
Grade: B

switch Statement:

Day of Week
public class DayOfWeek {
    public static void main(String[] args) {
        int day = 4; // 1=Mon, 2=Tue, ..., 7=Sun
        
        switch (day) {
            case 1:
                System.out.println("Monday");
                break;
            case 2:
                System.out.println("Tuesday");
                break;
            case 3:
                System.out.println("Wednesday");
                break;
            case 4:
                System.out.println("Thursday");
                break;
            case 5:
                System.out.println("Friday");
                break;
            case 6:
                System.out.println("Saturday");
                break;
            case 7:
                System.out.println("Sunday");
                break;
            default:
                System.out.println("Invalid day");
        }
    }
}
Output:
Thursday

Conditional Flow:

1
Evaluate condition
Condition true?
Yes: Execute code block
No: Check next condition
After execution, continue with rest of program
Loops

Loops allow you to execute a block of code repeatedly while a condition is true.

for Loop:

Countdown
public class ForLoopExample {
    public static void main(String[] args) {
        // Countdown from 10 to 1
        for (int i = 10; i >= 1; i--) {
            System.out.println("Countdown: " + i);
        }
        System.out.println("Blast off!");
    }
}
Output:
Countdown: 10
Countdown: 9
...
Countdown: 1
Blast off!

while Loop:

Sum Numbers
public class WhileLoopExample {
    public static void main(String[] args) {
        int sum = 0;
        int number = 1;
        
        // Sum numbers from 1 to 5
        while (number <= 5) {
            sum += number;
            number++;
        }
        
        System.out.println("Sum: " + sum);
    }
}
Output:
Sum: 15

do-while Loop:

User Input Validation
import java.util.Scanner;

public class DoWhileExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int number;
        
        do {
            System.out.print("Enter a number between 1 and 10: ");
            number = scanner.nextInt();
        } while (number < 1 || number > 10);
        
        System.out.println("You entered: " + number);
        scanner.close();
    }
}
Sample Output:
Enter a number between 1 and 10: 15
Enter a number between 1 and 10: 0
Enter a number between 1 and 10: 7
You entered: 7

Loop Visualization:

// Output will appear here
Loop Control

Loop control statements change execution from its normal sequence.

break Statement:

Find First Negative
public class BreakExample {
    public static void main(String[] args) {
        int[] numbers = {3, 7, -2, 8, 4};
        
        for (int num : numbers) {
            if (num < 0) {
                System.out.println("Found negative number: " + num);
                break; // Exit loop immediately
            }
            System.out.println("Checking: " + num);
        }
    }
}
Output:
Checking: 3
Checking: 7
Found negative number: -2

continue Statement:

Print Even Numbers
public class ContinueExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i % 2 != 0) {
                continue; // Skip odd numbers
            }
            System.out.println("Even number: " + i);
        }
    }
}
Output:
Even number: 2
Even number: 4
Even number: 6
Even number: 8
Even number: 10

return Statement:

Check Prime Number
public class ReturnExample {
    public static void main(String[] args) {
        int number = 17;
        boolean isPrime = checkPrime(number);
        
        System.out.println(number + " is prime? " + isPrime);
    }
    
    public static boolean checkPrime(int num) {
        if (num <= 1) {
            return false;
        }
        
        for (int i = 2; i <= Math.sqrt(num); i++) {
            if (num % i == 0) {
                return false; // Found a divisor, not prime
            }
        }
        
        return true; // No divisors found, prime number
    }
}
Output:
17 is prime? true

Tip: Use break to exit a loop entirely, continue to skip to the next iteration, and return to exit a method.

Nested Loops and Conditionals

You can nest loops and conditionals inside each other to create complex control flows.

Multiplication Table:

Multiplication Table
public class MultiplicationTable {
    public static void main(String[] args) {
        // Create a 10x10 multiplication table
        for (int i = 1; i <= 10; i++) {
            for (int j = 1; j <= 10; j++) {
                System.out.printf("%4d", i * j);
            }
            System.out.println(); // New line after each row
        }
    }
}
Partial Output:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
...

Pattern Printing:

Pyramid Pattern
public class PyramidPattern {
    public static void main(String[] args) {
        int rows = 5;
        
        for (int i = 1; i <= rows; i++) {
            // Print spaces
            for (int j = 1; j <= rows - i; j++) {
                System.out.print(" ");
            }
            
            // Print stars
            for (int k = 1; k <= 2 * i - 1; k++) {
                System.out.print("*");
            }
            
            System.out.println();
        }
    }
}
Output:
    *
   ***
  *****
 *******
*********

Conditionals in Loops:

FizzBuzz
public class FizzBuzz {
    public static void main(String[] args) {
        for (int i = 1; i <= 20; i++) {
            if (i % 3 == 0 && i % 5 == 0) {
                System.out.println("FizzBuzz");
            } else if (i % 3 == 0) {
                System.out.println("Fizz");
            } else if (i % 5 == 0) {
                System.out.println("Buzz");
            } else {
                System.out.println(i);
            }
        }
    }
}
Partial Output:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
...

Performance Tip: Be cautious with deeply nested loops as they can significantly impact performance. The time complexity is O(nk) for k levels of nesting.

Go Back

Next page