Boolean expression: Difference between revisions

Content deleted Content added
m Reverted edits by 60.48.39.68 (talk) (AV)
 
(33 intermediate revisions by 28 users not shown)
Line 1:
{{Short description|Expression in a computer program}}
In [[computer science]], a '''Boolean expression''' (also known as '''logical expression''') is usedan [[Expression (programming)|expression]] inused ain [[programming language]]s that produces a [[Boolean value]] when evaluated,. thatA isBoolean onevalue ofis either '''true''' or '''false'''. A Boolean expression may be composed of a combination of the Boolean constants '''trueTrue/False''' or '''falseYes/No''', [[Boolean data type|Boolean-typed]] variables, Boolean-valued operators, and [[Boolean-valued function]]s.<ref>{{citation
| last1 = Gries | first1 = David | author1-link = David Gries
| last2 = Schneider | first2 = Fred B. | author2-link = Fred B. Schneider
Line 11 ⟶ 12:
| year = 1993}}.</ref>
 
Boolean expressions correspond to [[propositional formula]]s in logic and are aassociated [[special case]] ofto [[Boolean circuit]]s.<ref>{{citation
| last = van Melkebeek | first = Dieter
| isbn = 9783540414926
Line 23 ⟶ 24:
 
==Boolean operators==
Most [[programming language]]s have the MeganBoolean operators [[Logical disjunction|OR]], [[Logical conjunction|AND]] and [[Negation|''not''NOT]]; in [[C (programming language)|C]] and some newer[[List of C-family programming languages|languages inspired by it]], these are represented by "||" (double pipe character), "&&" (double [[ampersand]]) and "!" ([[Exclamation mark|exclamation point]]) respectively, while the corresponding [[bitwise operation]]s are represented by "|", "&" and "~" (tilde).<ref>E.g. for [[Java (programming language)|Java]] see {{citation
| last1 = Brogden | first1 = William B.
| last2 = Green | first2 = Marcus
Line 31 ⟶ 32:
| title = Java 2 Programmer
| url = https://books.google.com/books?id=24nPZw9Wsf4C&pg=PA45
| year = 2003}}.</ref> In the mathematical literature the symbols used are often "+" ([[Plus sign|plus]]), "'''·'''" ([[Full stop|dot]]) and [[overbar]], or "∨" (cup[[Descending_wedge|vel]]), "∧" (cap[[Wedge_(symbol)|et]]) and "¬" ([[Negation|not]]) or "′" (prime).
 
Some languages, e.g., [[Perl]] and [[Ruby (programming language)|Ruby]], have two sets of Boolean operators, with identical functions but different precedence. Typically these languages use '''and''', '''or''' and '''not''' for the lower precedence operators.
 
Some programming languages derived from [[PL/I]] have a bit string type and use BIT(1) rather than a separate Boolean type. In those languages the same operators serve for Boolean operations and bitwise operations. The languages represent OR, AND, NOT and EXCLUSIVE OR by "|", "&", "¬" (infix) and "¬" (prefix).
 
===Short-circuit operators===
{{Main|Short-circuit evaluation}}
Some programming languages, e.g., [[Ada (programming language)|Ada]], have [[Short-circuit evaluation|short-circuit]] Boolean operators. These operators use a [[lazy evaluation]], that is, if the value of the expression can be determined from the left hand Boolean expression then they do not evaluate the right hand Boolean expression. As a result, there may be [[Side effect (computer science)|side effects]] that only occur for one value of the left hand operand.
 
==Examples==
 
*The expression "{{code|5 > 3"}} is evaluated as '''{{samp|true'''}}.
*The expression "{{code|3 > 5"}} is evaluated as '''{{samp|false'''}}.
*"{{code|1=5>=3"}} and "{{code|1=3<=5"}} are equivalent Boolean expressions, both of which are evaluated as '''{{samp|true'''}}.
*Of course, most Boolean expressions will contain at least one variable ({{code|X > 3}}), and often more ({{code|X > Y}}).
*"typeof true" returns "boolean" and "typeof false" returns "boolean"
*Of course, most Boolean expressions will contain at least one variable (X > 3), and often more (X > Y).
 
==See also==
*[[Expression (computer science)]]
*[[Expression (mathematics)]]
*[[Boolean function]]
 
==References==