• Compound Conditional Statement
  • Popcorn Hack #2
  • 3.5 Compund Boolean expressions

    Nested conditional statements

    definition: if statements within other if statements

    public class Main {
        public static void main(String[] args) {
            int age = 20;
            boolean isStudent = true;
    
            // Outer if-else block
            if (age >= 18) {
                // Nested if-else block inside the first condition
                if (isStudent) {
                    System.out.println("You are an adult and a student.");
                } else {
                    System.out.println("You are an adult.");
                }
            } else {
                System.out.println("You are not an adult.");
            }
        }
    }
    

    Simple Example of a Nested Conditional Statement

    Let’s look at a very basic example of a nested conditional statement using if-else blocks.

    Scenario:

    We want to check if a person is an adult and, if they are, we want to know if they are also a student.

    Compound Conditional Statement

    A compound conditional statement is when two or more conditions are combined into a single if statement using logical operators like && (AND), || (OR), or ! (NOT). This allows us to check multiple conditions at once without needing to nest if statements.

    Logical Operators:

    • && (AND): True if both conditions are true.
    • || (OR): True if at least one condition is true.
    • ! (NOT): Reverses the result of a condition (true becomes false, and false becomes true).

    Example of a Compound Conditional Statement

    Let’s say we want to check if a person is an adult and a student at the same time. Instead of using a nested if statement, we can use a compound conditional statement.

    public class Main {
        public static void main(String[] args) {
            int age = 20;
            boolean isStudent = true;
    
            // Compound conditional using && (AND)
            if (age >= 18 && isStudent) {
                System.out.println("You are an adult and a student.");
            } else {
                System.out.println("Either you are not an adult, or you are not a student.");
            }
        }
    }
    

    common mistake: Dangling else

    - Java does not care about indentation
    - else always belongs to the CLOSEST if
    - curly braces can be use to format else so it belongs to the FIRST 'if'
    

    Popcorn hack

    • explain the purpose of this algorithm, and what each if condition is used for
    • what would be output if input is
      • age 20
      • anual income 1500
      • student status: yes
    function checkMembershipEligibility() {
        // Get user input
        let age = parseInt(prompt("Enter your age:"));  // Age input
        let income = parseFloat(prompt("Enter your annual income:"));  // Annual income input
        let isStudent = prompt("Are you a student? (yes/no):").toLowerCase() === 'yes';  // Student status input
    
        // Initialize an empty array to hold results
        let results = [];
    
        // Check eligibility for different memberships
    
        // Basic Membership
        if (age >= 18 && income >= 20000) {
            results.push("You qualify for Basic Membership.");
        }
    
        // Premium Membership
        if (age >= 25 && income >= 50000) {
            results.push("You qualify for Premium Membership.");
        }
    
        // Student Discount
        if (isStudent) {
            results.push("You are eligible for a Student Discount.");
        }
    
        // Senior Discount
        if (age >= 65) {
            results.push("You qualify for a Senior Discount.");
        }
    
        // If no eligibility, provide a default message
        if (results.length === 0) {
            results.push("You do not qualify for any memberships or discounts.");
        }
    
        // Output all results
        results.forEach(result => console.log(result));
    }
    
    // Call the function to execute
    checkMembershipEligibility();
    

    ANSWER

    • The purpose is to check the user’s eligibility for different memberships or discounts based on their age, income, and student status, etc…
    • The out put will be: You are eligible for a Student Discount.

    Popcorn Hack #2

    • Write a program that checks if a person can get a discount based on their age and student status. You can define your own discount criteria! Use compound conditionals to determine the output.
    public class Main {
        public static void main(String[] args) {
            int age = 30; // Change this value for testing
            boolean isStudent = true; // Change this value for testing
    
            // Your compound conditional logic here
            if (age < 18) {
                System.out.println("You qualify for a Youth Discount.");
            } else if (age >= 65) {
                System.out.println("You qualify for a Senior Discount.");
            } else if (isStudent) {
                System.out.println("You qualify for a Student Discount.");
            } else {
                System.out.println("Sorry, you do not qualify for any discount.");
            }
        }
    }
    
    Main.main(null);
    
    You qualify for a Student Discount.