Logical "OR"
The logical "OR" (operator ||
) means that at least one among a few conditions is fulfilled. Similar to the operator &&
, the logical "OR" accepts a few arguments of bool (conditional) type and returns true
or false
. We can easily guess that we obtain a value true
every time when at least one of the arguments has a true
value. This is shown at the truth table below:
a | b | a || b |
---|---|---|
true true false false |
true false true false |
true true true false |
Typical example of the logic of this operator is the following: At school the teacher says: "John or Peter should clean the board". To fulfill this condition (to clean the board), it is possible either just for John to clean it, or just for Peter to clean it, or both of them to do it together.
Video: Logical "OR"
Watch this video to learn how to use logical "OR" in programming: https://youtu.be/e6i-2E66RNU.
How the || Operator Works?
We have already learned what the logical"OR" represents. But how is it actually being achieved? Just like with the logical "AND", the program checks from left to right the arguments that are given. In order to obtain true
from the expression, it is necessary for just one argument to have a true
value. Respectively, the checking continues until an argument with such value is met or until the arguments are over.
Here is one example of the ||
operator in action:
bool a = false;
bool b = true;
bool c = false;
bool d = true;
bool result = a || b || c || d;
// true (as c and d are not being checked)
The programs checks a
, accepts that it has a value false
and continues. Reaching b
, it understands that it has a true
value and the whole expression is calculated as true
, without having to check c
or d
, because their values wouldn't change the result of the expression.
Example: Fruit or Vegetable
Let's check whether a given product is a fruit or a vegetable. The "fruits" are: banana, apple, kiwi, cherry, lemon and grapes. The "vegetables" are: tomato, cucumber, pepper and carrot. Everything else is "unknown".
Sample Input and Output
Input | Output |
---|---|
banana tomato java |
fruit vegetable unknown |
Solution
We have to use a few conditional statements with logical "OR" (||
):
Testing in the Judge System
Test your solution here: https://judge.softuni.org/Contests/Practice/Index/508#3.