A more complex Boolean expression can be built of simpler Boolean expressions and can be written as

`Boolean_Expression1   Logical Operator   Boolean_Expression2`

where

• `Boolean_Expression1 `and` Boolean_Expression2 `can be any Boolean expression
• `Logical Operator `can be one of those shown in the table that follows

## PHP, Java, C++, C#

 Logical Operator Description && AND (also known as logical conjunction) || OR (also known as logical disjunction) ! NOT (also known as negation or logical complement)

The truth table for all three operators is shown here.

 Boolean Expression1 (BE1) Boolean Expression2 (BE2) `BE1 && BE2` `BE1 || BE2` `!(BE1)` False False False False True False True False True True True False False True False True True True True False

Are you still confused? You shouldn’t be! It is quite simple!

• The result of the logical operator AND ( && ) is true when both BE1 and BE2 are `true`.
• The result of the logical operator OR ( || ) is true when either BE1 or BE2 is `true `(at least one).
• The logical operator NOT ( ! ) just reverses the result of a Boolean expression. In this table, when BE1 is `true `the result is `false `and vice versa.

Notice: In flowcharts, this website uses the commonly accepted AND, OR, and NOT operators!

Next are some examples of complex Boolean expressions. The parentheses are not really necessary. They are used just for increased readability.

• `(x == 5) && (x > y)`. This can be read as “test if `x` is equal to 5 and greater than `y`
• `(x > y) || (x == 3)`. This can be read as “test if `x` is greater than y or equal to 3
• `!(x < y)`. This can be read as “test if` x` is not less than `y`” or, in other words, “test if `x` is greater than or equal to `y`

Notice: In the last Boolean expression, please note the exclamation mark in the front.

## Visual Basic

 Logical Operator Description And Also known as logical conjunction Or Also known as logical disjunction Not Also known as negation or logical complement

The truth table for all three operators is shown here.

 Boolean Expression1 (BE1) Boolean Expression2 (BE2) `BE1 And BE2` `BE1 Or BE2` `Not(BE1)` False False False False True False True False True True True False False True False True True True True False

Are you still confused? You shouldn’t be! It is quite simple!

• The result of the logical operator `And` is true when both BE1 and BE2 are `true`.
• The result of the logical operator `Or` is true when either BE1 or BE2 is `true `(at least one).
• The logical operator `Not `just reverses the result of a Boolean expression. In this table, when BE1 is `true `the result is `false `and vice versa.

Next are some examples of complex Boolean expressions. The parentheses are not really necessary. They are used just for increased readability.

• `(x = 5) And (x > y)`. This can be read as “test if `x` is equal to 5 and greater than `y`
• `(x > y) Or (x = 3)`. This can be read as “test if `x` is greater than y or equal to 3
• `Not(x < y)`. This can be read as “test if` x` is not less than `y`” or, in other words, “test if `x` is greater than or equal to `y`

## Python

 Logical Operator Description and Also known as logical conjunction or Also known as logical disjunction not Also known as negation or logical complement

The truth table for all three operators is shown here.

 Boolean Expression1 (BE1) Boolean Expression2 (BE2) `BE1 and BE2` `BE1 or BE2` `not(BE1)` False False False False True False True False True True True False False True False True True True True False

Are you still confused? You shouldn’t be! It is quite simple!

• The result of the logical operator `and` is true when both BE1 and BE2 are `true`.
• The result of the logical operator `or` is true when either BE1 or BE2 is `true `(at least one).
• The logical operator `not `just reverses the result of a Boolean expression. In this table, when BE1 is `true `the result is `false `and vice versa.

Next are some examples of complex Boolean expressions. The parentheses are not really necessary. They are used just for increased readability.

• `(x == 5) and (x > y)`. This can be read as “test if `x` is equal to 5 and greater than `y`
• `(x > y) or (x == 3)`. This can be read as “test if `x` is greater than y or equal to 3
• `not(x < y)`. This can be read as “test if` x` is not less than `y`” or, in other words, “test if `x` is greater than or equal to `y`