Skip to content

Conditional Statements - Complete Programming Guide

🎯 Quick Reference

Python Conditional Statements

# If statement
age = 18
if age >= 18:
    print("You are eligible to vote")

# If-else statement
score = 75
if score >= 60:
    print("You passed!")
else:
    print("You failed. Try again!")

# If-elif-else statement
grade = 85
if grade >= 90:
    letter = 'A'
elif grade >= 80:
    letter = 'B'
elif grade >= 70:
    letter = 'C'
elif grade >= 60:
    letter = 'D'
else:
    letter = 'F'
print(f"Your grade is: {letter}")

# Nested if statements
age = 20
has_license = True

if age >= 18:
    if has_license:
        print("You can drive")
    else:
        print("Get a license first")
else:
    print("You're too young to drive")

# Ternary operator
message = "Adult" if age >= 18 else "Minor"

# Multiple conditions
username = "admin"
password = "secure123"

if username == "admin" and password == "secure123":
    print("Access granted")
elif username == "admin" or password == "secure123":
    print("Partial access")
else:
    print("Access denied")

# Switch-like behavior (Python 3.10+)
def get_day_type(day):
    match day:
        case "monday" | "tuesday" | "wednesday" | "thursday" | "friday":
            return "Weekday"
        case "saturday" | "sunday":
            return "Weekend"
        case _:
            return "Invalid day"

Java Conditional Statements

import java.util.Scanner;

public class ConditionalStatements {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // If statement
        int age = 18;
        if (age >= 18) {
            System.out.println("You are eligible to vote");
        }

        // If-else statement
        int score = 75;
        if (score >= 60) {
            System.out.println("You passed!");
        } else {
            System.out.println("You failed. Try again!");
        }

        // If-else if-else statement
        int grade = 85;
        char letter;
        if (grade >= 90) {
            letter = 'A';
        } else if (grade >= 80) {
            letter = 'B';
        } else if (grade >= 70) {
            letter = 'C';
        } else if (grade >= 60) {
            letter = 'D';
        } else {
            letter = 'F';
        }
        System.out.println("Your grade is: " + letter);

        // Nested if statements
        int age2 = 20;
        boolean hasLicense = true;

        if (age2 >= 18) {
            if (hasLicense) {
                System.out.println("You can drive");
            } else {
                System.out.println("Get a license first");
            }
        } else {
            System.out.println("You're too young to drive");
        }

        // Ternary operator
        String message = (age >= 18) ? "Adult" : "Minor";
        System.out.println(message);

        // Multiple conditions
        String username = "admin";
        String password = "secure123";

        if (username.equals("admin") && password.equals("secure123")) {
            System.out.println("Access granted");
        } else if (username.equals("admin") || password.equals("secure123")) {
            System.out.println("Partial access");
        } else {
            System.out.println("Access denied");
        }

        // Switch statement
        int dayOfWeek = 3;
        String dayType;
        switch (dayOfWeek) {
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                dayType = "Weekday";
                break;
            case 6:
            case 7:
                dayType = "Weekend";
                break;
            default:
                dayType = "Invalid day";
        }
        System.out.println("Day type: " + dayType);

        scanner.close();
    }
}

C Conditional Statements

#include <stdio.h>
#include <stdbool.h>

int main() {
    // If statement
    int age = 18;
    if (age >= 18) {
        printf("You are eligible to vote\n");
    }

    // If-else statement
    int score = 75;
    if (score >= 60) {
        printf("You passed!\n");
    } else {
        printf("You failed. Try again!\n");
    }

    // If-else if-else statement
    int grade = 85;
    char letter;
    if (grade >= 90) {
        letter = 'A';
    } else if (grade >= 80) {
        letter = 'B';
    } else if (grade >= 70) {
        letter = 'C';
    } else if (grade >= 60) {
        letter = 'D';
    } else {
        letter = 'F';
    }
    printf("Your grade is: %c\n", letter);

    // Nested if statements
    int age2 = 20;
    bool hasLicense = true;

    if (age2 >= 18) {
        if (hasLicense) {
            printf("You can drive\n");
        } else {
            printf("Get a license first\n");
        }
    } else {
        printf("You're too young to drive\n");
    }

    // Ternary operator
    const char* message = (age >= 18) ? "Adult" : "Minor";
    printf("%s\n", message);

    // Multiple conditions
    char username[] = "admin";
    char password[] = "secure123";

    if (strcmp(username, "admin") == 0 && strcmp(password, "secure123") == 0) {
        printf("Access granted\n");
    } else if (strcmp(username, "admin") == 0 || strcmp(password, "secure123") == 0) {
        printf("Partial access\n");
    } else {
        printf("Access denied\n");
    }

    // Switch statement
    int dayOfWeek = 3;
    const char* dayType;
    switch (dayOfWeek) {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            dayType = "Weekday";
            break;
        case 6:
        case 7:
            dayType = "Weekend";
            break;
        default:
            dayType = "Invalid day";
    }
    printf("Day type: %s\n", dayType);

    return 0;
}

JavaScript Conditional Statements

// If statement
let age = 18;
if (age >= 18) {
    console.log("You are eligible to vote");
}

// If-else statement
let score = 75;
if (score >= 60) {
    console.log("You passed!");
} else {
    console.log("You failed. Try again!");
}

// If-else if-else statement
let grade = 85;
let letter;
if (grade >= 90) {
    letter = 'A';
} else if (grade >= 80) {
    letter = 'B';
} else if (grade >= 70) {
    letter = 'C';
} else if (grade >= 60) {
    letter = 'D';
} else {
    letter = 'F';
}
console.log(`Your grade is: ${letter}`);

// Nested if statements
let age2 = 20;
let hasLicense = true;

if (age2 >= 18) {
    if (hasLicense) {
        console.log("You can drive");
    } else {
        console.log("Get a license first");
    }
} else {
    console.log("You're too young to drive");
}

// Ternary operator
let message = (age >= 18) ? "Adult" : "Minor";
console.log(message);

// Multiple conditions
let username = "admin";
let password = "secure123";

if (username === "admin" && password === "secure123") {
    console.log("Access granted");
} else if (username === "admin" || password === "secure123") {
    console.log("Partial access");
} else {
    console.log("Access denied");
}

// Switch statement
let dayOfWeek = 3;
let dayType;
switch (dayOfWeek) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        dayType = "Weekday";
        break;
    case 6:
    case 7:
        dayType = "Weekend";
        break;
    default:
        dayType = "Invalid day";
}
console.log(`Day type: ${dayType}`);

// Arrow function with conditional
const getDiscount = (amount) => amount > 100 ? amount * 0.9 : amount;
console.log(`Discounted price: ${getDiscount(150)}`);

C++ Conditional Statements

#include <iostream>
#include <string>

int main() {
    // If statement
    int age = 18;
    if (age >= 18) {
        std::cout << "You are eligible to vote" << std::endl;
    }

    // If-else statement
    int score = 75;
    if (score >= 60) {
        std::cout << "You passed!" << std::endl;
    } else {
        std::cout << "You failed. Try again!" << std::endl;
    }

    // If-else if-else statement
    int grade = 85;
    char letter;
    if (grade >= 90) {
        letter = 'A';
    } else if (grade >= 80) {
        letter = 'B';
    } else if (grade >= 70) {
        letter = 'C';
    } else if (grade >= 60) {
        letter = 'D';
    } else {
        letter = 'F';
    }
    std::cout << "Your grade is: " << letter << std::endl;

    // Nested if statements
    int age2 = 20;
    bool hasLicense = true;

    if (age2 >= 18) {
        if (hasLicense) {
            std::cout << "You can drive" << std::endl;
        } else {
            std::cout << "Get a license first" << std::endl;
        }
    } else {
        std::cout << "You're too young to drive" << std::endl;
    }

    // Ternary operator
    std::string message = (age >= 18) ? "Adult" : "Minor";
    std::cout << message << std::endl;

    // Multiple conditions
    std::string username = "admin";
    std::string password = "secure123";

    if (username == "admin" && password == "secure123") {
        std::cout << "Access granted" << std::endl;
    } else if (username == "admin" || password == "secure123") {
        std::cout << "Partial access" << std::endl;
    } else {
        std::cout << "Access denied" << std::endl;
    }

    // Switch statement
    int dayOfWeek = 3;
    std::string dayType;
    switch (dayOfWeek) {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            dayType = "Weekday";
            break;
        case 6:
        case 7:
            dayType = "Weekend";
            break;
        default:
            dayType = "Invalid day";
    }
    std::cout << "Day type: " << dayType << std::endl;

    return 0;
}

🔧 Advanced Conditional Patterns

Input Validation

# Python
def get_age():
    while True:
        try:
            age = int(input("Enter your age: "))
            if age >= 0 and age <= 120:
                return age
            else:
                print("Age must be between 0 and 120")
        except ValueError:
            print("Please enter a valid number")

# Java
Scanner scanner = new Scanner(System.in);
int age;
while (true) {
    try {
        System.out.print("Enter your age: ");
        age = scanner.nextInt();
        if (age >= 0 && age <= 120) {
            break;
        }
        System.out.println("Age must be between 0 and 120");
    } catch (InputMismatchException e) {
        System.out.println("Please enter a valid number");
        scanner.next(); // Clear invalid input
    }
}

Complex Business Logic

# Python
def calculate_discount(price, customer_type, quantity):
    discount = 0

    # Base discount for quantity
    if quantity >= 10:
        discount += 0.10
    if quantity >= 50:
        discount += 0.05

    # Customer type discount
    if customer_type == "premium":
        discount += 0.15
    elif customer_type == "regular":
        discount += 0.05

    # Maximum discount cap
    discount = min(discount, 0.30)

    return price * (1 - discount)

# JavaScript
function calculateDiscount(price, customerType, quantity) {
    let discount = 0;

    // Base discount for quantity
    if (quantity >= 10) discount += 0.10;
    if (quantity >= 50) discount += 0.05;

    // Customer type discount
    if (customerType === "premium") discount += 0.15;
    else if (customerType === "regular") discount += 0.05;

    // Maximum discount cap
    discount = Math.min(discount, 0.30);

    return price * (1 - discount);
}

Error Handling with Conditionals

# Python
def divide_numbers(a, b):
    if b == 0:
        return "Error: Division by zero"
    elif a == 0:
        return 0
    else:
        return a / b

# Java
public double divideNumbers(double a, double b) {
    if (b == 0) {
        throw new IllegalArgumentException("Division by zero");
    } else if (a == 0) {
        return 0;
    } else {
        return a / b;
    }
}

📚 Learn Conditional Theory →