© 2006 pearson education 1 obj: to use compound boolean statements hw: p.184 true/false #1 – 6...
TRANSCRIPT
![Page 1: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/1.jpg)
1© 2006 Pearson Education
Obj: to use compound Boolean statements
HW: p.184 True/False #1 – 6 (skip 3)
Do Now:
1. Test your “Charge Account Statement” program.
C3 D3C3 D3
![Page 2: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/2.jpg)
2© 2006 Pearson Education
Logical OperatorsLogical Operators
Boolean expressions can use the following logical operators:
! Logical NOT
&& Logical AND
|| Logical OR
They all take boolean operands and produce boolean results
![Page 3: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/3.jpg)
3© 2006 Pearson Education
Logical NOTLogical NOT
The logical NOT operation is also called logical negation or logical complement
If some boolean condition a is true, then !a is false; if a is false, then !a is true
Logical expressions can be shown using truth tables
a !a
true false
false true
![Page 4: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/4.jpg)
4© 2006 Pearson Education
Logical AND and Logical ORLogical AND and Logical OR
The logical AND expression
a && b
is true if both a and b are true, and false otherwise
The logical OR expression
a || b
is true if a or b or both are true, and false otherwise
![Page 5: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/5.jpg)
5© 2006 Pearson Education
Truth TablesTruth Tables
A truth table shows the possible true/false combinations of the terms
Since && and || each have two operands, there are four possible combinations of conditions a and b
a b a && b a || b
true true true true
true false false true
false true false true
false false false false
![Page 6: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/6.jpg)
6© 2006 Pearson Education
Logical OperatorsLogical Operators
Conditions can use logical operators to form complex expressions
if (total < MAX+5 && !found) System.out.println ("Processing…");
Logical operators have precedence relationships among themselves and with other operators
• all logical operators have lower precedence than the relational or arithmetic operators
• logical NOT has higher precedence than logical AND and logical OR
![Page 7: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/7.jpg)
7© 2006 Pearson Education
Short Circuited OperatorsShort Circuited Operators The processing of logical AND and logical OR is
“short-circuited”
If the left operand is sufficient to determine the result, the right operand is not evaluated
if (count != 0 && total/count > MAX) System.out.println ("Testing…");
If count != 0 was false, then the whole thing would be false so it was not necessary to check total/count > MAX
For | | if the left side is true, then done checking.
![Page 8: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/8.jpg)
8© 2006 Pearson Education
Truth TablesTruth Tables
Specific expressions can be evaluated using truth tables
total < MAX found !found total < MAX && !found
false false true false
false true false false
true false true true
true true false false
![Page 9: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/9.jpg)
9© 2006 Pearson Education
Comparing CharactersComparing Characters
We can use the relational operators on character data
The following condition is true because the character + comes before the character J in the Unicode character set:
if ('+' < 'J') System.out.println ("+ is less than J");
The uppercase alphabet (A-Z) followed by the lowercase alphabet (a-z) appear in alphabetical order in the Unicode character set (See Appendix B on p.624)
![Page 10: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/10.jpg)
10© 2006 Pearson Education
Comparing StringsComparing Strings
Remember that a character string in Java is an object
We cannot use the relational operators to compare strings
The equals method can be called with strings to determine if two strings contain exactly the same characters in the same order
The String class also contains a method called compareTo to determine if one string comes before another (based on the Unicode character set)
![Page 11: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/11.jpg)
11© 2006 Pearson Education
Lexicographic OrderingLexicographic Ordering
Because comparing characters and strings is based on a character set, it is called a lexicographic ordering
The string "Great" comes before the string "fantastic" because all of the uppercase letters come before all of the lowercase letters in Unicode
Also, short strings come before longer strings with the same prefix (lexicographically)
Therefore "book" comes before "bookcase"
![Page 12: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/12.jpg)
12© 2006 Pearson Education
Comparing Float ValuesComparing Float Values
We also have to be careful when comparing two floating point values (float or double) for equality
You should rarely use the equality operator (==) when comparing two floats
In many situations, you might consider two floating point numbers to be "close enough" even if they aren't exactly equal
Therefore, to determine the equality of two floats, you may want to use the following technique:
if (Math.abs(f1 - f2) < 0.00001) System.out.println ("Essentially equal.");
![Page 13: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/13.jpg)
13© 2006 Pearson Education
QuestionsQuestions
What is the difference between a unary operator and a binary operator? Give an example of each.
Unary operates on one operand (ex: NOT) binary operates on two operands (ex: AND and OR).
If !d is false, what is true?
d
![Page 14: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/14.jpg)
14© 2006 Pearson Education
Which of the following are true:
it is raining && today is Tuesday
it is raining | | today is Tuesday
If a && b is true, is a | | b also true? Yes, always.
If a | | b is true, is a && b also true? Only sometimes
![Page 15: © 2006 Pearson Education 1 Obj: to use compound Boolean statements HW: p.184 True/False #1 – 6 (skip 3) Do Now: 1.Test your “Charge Account Statement”](https://reader035.vdocument.in/reader035/viewer/2022072015/56649ec45503460f94bcedb1/html5/thumbnails/15.jpg)
15© 2006 Pearson Education
If a && b is false, is a | | b also false? Only sometimes.
If a | | b is false, is a && b also false? Yes, always.
If time: do p.181 #3.2 and 3.3