Menu
Coddy logo textTech

Logical Operators Part 2

Part of the Fundamentals section of Coddy's Rust journey — lesson 21 of 75.

Logical operators have a special table called "Truth table" that shows what the combination of logical operators returns.

Truth table for the and (&&) operator:

aba && b
falsefalsefalse
falsetruefalse
truefalsefalse
truetruetrue

The only way to get a true for the and (&&) operator is if both a and b are true

Truth table for the or (||) operator:

aba || b
falsefalsefalse
falsetruetrue
truefalsetrue
truetruetrue

In this case, to get a true result, either a or b should be true.

Truth table for the not (!) operator:

a!a
falsetrue
truefalse

Here the value of a is reversed. If a is false then !a is true

challenge icon

Challenge

Beginner

You need to assign integer values to variables b1 and b2 so that b3 evaluates to true in the expression: b3 = !((b1 + b2) > (b1 * b2)).

Cheat sheet

Truth tables show the results of logical operator combinations:

AND (&&) operator: Returns true only when both operands are true

aba && b
falsefalsefalse
falsetruefalse
truefalsefalse
truetruetrue

OR (||) operator: Returns true when either operand is true

aba || b
falsefalsefalse
falsetruetrue
truefalsetrue
truetruetrue

NOT (!) operator: Reverses the boolean value

a!a
falsetrue
truefalse

Try it yourself

fn main() {
    // Type your code below
    let b1: i32 = ?;
    let b2: i32 = ?;
    let b3: bool = !((b1 + b2) > (b1 * b2));
    
    // Don\'t change the line below
    println!("b3 = {}", b3);
}
quiz iconTest yourself

This lesson includes a short quiz. Start the lesson to answer it and track your progress.

All lessons in Fundamentals