What is an If-Else Statement?

  • If Statement - a conditional statement that tests a condition, returns true or false
  • If-Else Statement - the if executes if the statement is true, the else executes of the statement is false
  • If-Else-If-Else Statement - a chain of If-Else statements

Using If-ElseIf-Else:

public class Alarm
{
    public static void printSchoolStartTime(String dayOfWeek)
    {
        System.out.printf("%s --> ", dayOfWeek);
        
        // Day is Monday
        if(dayOfWeek.equals("Monday"))
        {
            System.out.printf("school starts at 8:35\n");
        }
        // Day is Tuesday
        else if(dayOfWeek.equals("Tuesday"))
        {
            System.out.printf("school starts at 8:35\n");
        }
        // Day is Wednesday
        else if(dayOfWeek.equals("Wednesday"))
        {
            System.out.printf("school starts at 9:55\n");
        }
        // Day is Thursday
        else if(dayOfWeek.equals("Thursday"))
        {
            System.out.printf("school starts at 8:35\n");
        }
        // Day is Friday
        else if(dayOfWeek.equals("Friday"))
        {
            System.out.printf("school starts at 8:35\n");
        }
        // Day is Saturday or Sunday
        else if((dayOfWeek.equals("Saturday")) || (dayOfWeek.equals("Sunday")))
        {
            System.out.printf("No school!\n");
        }
        // Day is Invalid
        else
        {
            System.out.printf("Invalid day of the week\n");
        }
    }

}
Alarm.printSchoolStartTime("Monday");
Alarm.printSchoolStartTime("Wednesday");
Alarm.printSchoolStartTime("Friday");
Alarm.printSchoolStartTime("Sunday");
Alarm.printSchoolStartTime("June");
Monday --> school starts at 8:35
Wednesday --> school starts at 9:55
Friday --> school starts at 8:35
Sunday --> No school!
June --> Invalid day of the week

Using Switch-Case-Otherwise:

public class Alarm
{
    public static void printSchoolStartTime2(String dayOfWeek)
    {
        System.out.printf("%s --> ", dayOfWeek);
        
        switch (dayOfWeek)
        {
            // Day is Monday
            case "Monday":
                System.out.printf("school starts at 8:35\n");
                break;
            // Day is Tuesday
            case "Tuesday":
                System.out.printf("school starts at 8:35\n");
                break;
            // Day is Wednesday
            case "Wednesday":
                System.out.printf("school starts at 9:55\n");
                break;
            // Day is Thursday
            case "Thursday":
                System.out.printf("school starts at 8:35\n");
                break;
            // Day is Friday
            case "Friday":
                System.out.printf("school starts at 8:35\n");
                break;
            // Day is Saturday || Sunday
            case "Saturday":
            case "Sunday":
                System.out.printf("No school!\n");
                break;
            // Day is Invalid
            default:
            System.out.printf("Invalid day of the week\n");
                break;
        }
    }

}
Alarm.printSchoolStartTime2("Monday");
Alarm.printSchoolStartTime2("Wednesday");
Alarm.printSchoolStartTime2("Friday");
Alarm.printSchoolStartTime2("Sunday");
Alarm.printSchoolStartTime2("June");
Monday --> school starts at 8:35
Wednesday --> school starts at 9:55
Friday --> school starts at 8:35
Sunday --> No school!
June --> Invalid day of the week

Using De Morgan's Law

1) De Morgan's Law states that not (A and B) is the same as not A or not B, and not(A or B) is the same as not A and not B

2) Illustration of De Morgan's Law:

A B !A !B !(A or B) !A and !B
0 0 1 1 1 1
0 1 1 0 0 0
1 0 0 1 0 0
1 1 0 0 0 0


A B !A !B !(A and B) !A or !B
0 0 1 1 1 1
0 1 1 0 1 1
1 0 0 1 1 1
1 1 0 0 0 0

3) Code showing De Morgan's Law:

public class Flavors
{
    public static void checkFlavor1(String flavor)
    {
        if (flavor.equals("Chocolate") || flavor.equals("Vanilla"))
        {
            System.out.printf("I do not like %s\n", flavor);
        }
        else
        {
            System.out.printf("I like %s\n", flavor);
        }
    }

    public static void checkFlavor2(String flavor)
    {
        if (!flavor.equals("Chocolate") && !flavor.equals("Vanilla"))
        {
            System.out.printf("I like %s\n", flavor);
        }
        else
        {
            System.out.printf("I do not like %s\n", flavor);
        }
    }
}
Flavors.checkFlavor1("Chocolate");
Flavors.checkFlavor1("Vanilla");
Flavors.checkFlavor1("Strawberry");
System.out.printf("\n");
Flavors.checkFlavor2("Chocolate");
Flavors.checkFlavor2("Vanilla");
Flavors.checkFlavor2("Strawberry");
I do not like Chocolate
I do not like Vanilla
I like Strawberry

I do not like Chocolate
I do not like Vanilla
I like Strawberry