Han

Han Ferik

Home | Projects | AP CSA

AP CSA Unit 3: Boolean Expressions and If Statements

3.1:

- The operators == and != (not equal) can be used to compare values. They return true or false boolean values.

- One = sign changes the value of a variable. Two == equal signs are used to test if a variable holds a certain value, without changing its value.

- In Java, relational operators like <, >, <=, >=, ==, and != are used to compare numeric values, while string comparisons are done using compareTo and equals.

- Example:

int a = 5;
    int b = 10;
    if (a == b) {
        System.out.println("a and b are equal");
    } else {
        System.out.println("a and b are not equal");
    }

- You can use mod (%) to check for odd or even numbers. If num % 2 == 0, num is even; otherwise, it’s odd.

- Example:

int num = 4;
    if (num % 2 == 0) {
        System.out.println("Even number");
    } else {
        System.out.println("Odd number");
    }

3.2:

- Statements in a Java main method execute in top-to-bottom order. If statements (conditionals) alter the flow, executing code only if a condition is true.

- A common mistake in if statements is using = instead of == in the condition by mistake. Always use == for comparisons.

- Example:

int x = 10;
    if (x == 10) {
        System.out.println("x is 10");
    } else {
        System.out.println("x is not 10");
    }

3.3:

- Use if-else statements to execute one block of code if a condition is true, and another block if false.

- Example:

int age = 18;
    if (age >= 18) {
        System.out.println("Adult");
    } else {
        System.out.println("Minor");
    }

- In nested if statements, an else clause pairs with the closest unmatched if statement.

- Example of nested if:

int num = 5;
    if (num > 0) {
        if (num % 2 == 0) {
            System.out.println("Positive even number");
        } else {
            System.out.println("Positive odd number");
        }
    }

3.4:

- The switch statement offers another way to handle 3 or more conditional cases.

- Example:

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");
    }

3.5:

- Use && as a logical AND, and || as a logical OR to join two Boolean expressions.

- Example using &&:

boolean isAdult = true;
    boolean hasTicket = true;
    if (isAdult && hasTicket) {
        System.out.println("Access granted");
    } else {
        System.out.println("Access denied");
    }

- Example using ||:

boolean isWeekend = true;
    boolean isHoliday = false;
    if (isWeekend || isHoliday) {
        System.out.println("Relaxing day");
    } else {
        System.out.println("Work day");
    }

- Short-circuit evaluation means if one part of a complex condition is sufficient to determine the result, the rest is ignored.

3.6:

- De Morgan’s Laws in Java: !(a && b) is equivalent to !a || !b, and !(a || b) is equivalent to !a && !b.

- Example:

boolean a = true;
    boolean b = false;
    if (!(a && b)) {
        System.out.println("Not both are true");
    } else {
        System.out.println("Both are true");
    }

- Negating an expression with relational operators flips the operator: !(c < d) becomes c >= d.

- Example:

int c = 5;
    int d = 10;
    if (!(c < d)) {
        System.out.println("c is greater than or equal to d");
    } else {
        System.out.println("c is less than d");
    }

3.7:

- The equals method compares two strings letter by letter. Use equals instead of == to check for String equality.

- Example:

String str1 = "Hello";
    String str2 = "Hello";
    if (str1.equals(str2)) {
        System.out.println("Strings are equal");
    } else {
        System.out.println("Strings are not equal");
    }

- == compares object references, not values. Use == to compare objects to null to check existence.

- Example:

String str = null;
    if (str == null) {
        System.out.println("str is null");
    }

3.8:

- Common mistakes include using = instead of == in if conditions, ending if statements with a semicolon, and using two ifs instead of an if-else.

- Example of common mistake with a semicolon:

if (x == 10); {
        System.out.println("x is 10"); // Wrong: extra semicolon causes logical error
    }

- Example of using == instead of =:

if (x = 10) { // Wrong: use == for comparison
        System.out.println("x is 10");
    }

Find me on the interwebs!

Github LinkedIn Instagram Facebook