+ All Categories
Home > Documents > Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I...

Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I...

Date post: 04-Jan-2016
Category:
Upload: judith-johnson
View: 215 times
Download: 1 times
Share this document with a friend
25
Transcript
Page 1: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.
Page 2: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Logical and Relational OperationSession 5

Course : T0974 Algorithm & Object-Oriented Programming IYear : 2011

Page 3: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Learning Outcomes

After taking this course, student should be expected to apply and demonstrate using Relational and comparator operator, Logical operator and bitwise operator.

Page 4: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Lecture outline

• Relational & Comparator procedure• Relational & Comparator operator• Logic & Boolean procedure• Logic & Boolean operator• Truth table• Bitwise Operation

Page 5: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Relational procedure

• Relational procedure == Comparator procedure.• Comparing two values.• Using 6 relational/comparator operator.• The result has Boolean type.• The values have number, ASCII, or String data

type.

Page 6: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Comparator operator

Operator

Description Example

Result

< less than 1 < 2 true

<= less than or equal to 1 <= 2 true

> greater than 1 > 2 false

>= greater than or equal to

1 >= 2 false

== equal to 1 == 2 false

!= not equal to 1 != 2 true

Page 7: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Comparator operator

• Character can be compared by refering to its ASCII number. – Example: ‘a’ is more bigger than ‘A’ because ASCII number

for ‘a’ (97) is bigger than ASCII number for ‘A’ (65).

• Word can be compared by String helper.• Comparator operator is different than asssignment

operator.X = 14 store 14 to X.X == 14 compare if X is equal to 14.

Page 8: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Comparator Operation

Page 9: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Logic/Boolean Procedure

• Logical procedure == Boolean procedure.• Execute 1 or 2 logic values.• It has 4 types Logic/Boolean operator.• The result has Boolean data type.• Truth table

Page 10: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Boolean Operator

Operator

Name Description

! not logical negation

&& and logical conjunction

|| or logical disjunction

^ exclusive or

logical exclusion

Page 11: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

NOT (!)

p !p Example

true false !(1>2) is true, because (1>2) is false

false true !(1>0) is false, because (1>0) is true• Operator not (!) inverts the original value.

• true false and false true

Page 12: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

AND (&&)

p1 p2 p1 && p2

Example

false false false (2>3) && (5>5) is falseBecause both (2>3) and (5>5) are false

false true false (2>3) && (6>5) is falseBecause (2>3) is false

true false false (6>5) && (2>3) is falseBecause (2>3) is false

true true true (3>2) && (5>=5) is trueBecause both (3>2) and (5>=5) are true

• AND Operator (&&) is true when all of its operands are true.

• If one of its operand is false, then AND is false.

Page 13: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

OR (||)

p1 p2 p1 || p2

Example

false false false (2>3) || (5>5) is falseBecause both (2>3) and (5>5) are false

false true true (2>3) || (6>5) is trueBecause (6>5) is true

true false true (6>5) || (2>3) is trueBecause (6>5) is true

true true true (3>2) || (5>=5) is trueBecause both (3>2) and (5>=5) are true

• OR (||) Operator is true if one of every its operand is true.

• If all of its operands become false then OR is false.

Page 14: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

XOR (^)

p1 p2 p1 ^ p2 Example

false

false

false (2>3) ^ (5>5) is falseBecause both (2>3) and (5>5) are false

false

true true (2>3) ^ (6>5) is trueBecause (2>3) is false and (6>5) is true

true false

true (6>5) ^ (2>3) is trueBecause (6>5) is true and (2>3) is false

true true false (3>2) ^ (5>=5) is trueBecause both (3>2) and (5>=5) are true

• Operator XOR (^) is true when both if its operands has different condition.

• When its operands has same condition then XOR is false.

Page 15: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Tabel Kebenaran: Demo

Page 16: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Thruth Table: Demo

Page 17: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Thruth table: Leap Year

Page 18: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Did You Know?

• When evaluating p1&&p2, Java evaluates p1 first.– If p1 is true then Java evaluates p2.– If p2 is false then Java doesn’t evaluate p2.

• When evaluating p1||p2, Java evaluates p1 first– If p1 is true then Java doesn’t evaluate p2.– If p1 is false then Java evaluates p2.

Page 19: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Advanced Learning

• Bit : the smallest unit in data.• 1 byte = 8 bits.• 1 bit has 0 or 1.• Java support bitwise operator to do bit shift.• Example :

0000 0000 0 0000 1000 80000 0001 1 0001 0000 160000 0010 2 0010 0000 320000 0011 3 0100 1101 770000 0100 4 1111 1111 255

Page 20: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Advanced Learning

• Bit’s values is same as boolean– 1 : true– 0 : false

• Its procedure is same as logical procedure.& && (AND)| || (OR)^ ^ (XOR)~ ! (NOT/NEGATE)

• Additional operator<< : shift left (unsigned)>> : shift right (signed)>>> : shift right (unsigned)

Page 21: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Advanced Learning

Operator Nama Example Deskripsi

& AND 1010 1110 & 1001 0010Result: 1000 0010

If both of its bits is 1 then it produces 1.

| OR 1010 1110 | 1001 0010Result: 1011 1110

If one of its bits is 1 then it produces 1.

^ XOR 1010 1110 ^ 1001 0010Hasil: 0011 1110

If both of its bits have different values then it produces 1.

~ NEGATE ~1010 1110Hasil: 0101 0001

If bit = 1 0If bit = 0 1

<< LEFTSHIFT

1010 1110 << 2Hasil: 1011 1000

Shift 2 bit to the left then fill the latter with zeros.

>> RIGHTSHIFT

(SIGNED)

1010 1110 >> 2Hasil: 1110 10110010 1110 >> 2Hasil: 0000 1011

Shift 2 bit to the right then fill the latter with zeros. Its Least Significant Bit is sign bit.

>>> RIGHTSHIFT

(UNSIGNED)

1010 1110 >>> 2Hasil: 0010 1011

Shift 2 bit to the right then fill the latter with zeros.

Page 22: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Advanced Learning

• Shorthand for bitwise operation :&=, |=, ^=, <<=, >>=, >>>=

• Bitwise only can be used for real number like : byte, short, int and long.

• Bitwise for Char type converts to int which refer to ASCII number.

Page 23: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Advanced Learning

Page 24: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

Advanced Learning

Page 25: Logical and Relational Operation Session 5 Course: T0974 Algorithm & Object-Oriented Programming I Year: 2011.

Bina Nusantara

References

• Introduction to Java Programming. 8ed. Liang. 2011. p96-97

• Dasar Pemrograman Java 2. Abdul Kadir. 2004. p76-83• The Complete Reference Java. 5ed. Herbert Schildt.

2005. p62-76• Java 2 Weekend Crash Course. Julio Sanchez. 2002. p85-

96• Bitwise:

– http://java.sun.com/docs/books/tutorial/java/nutsandbolts/op3.html– http://www.sap-img.com/java/java-bitwise-logical-operators.htm– http://www.leepoint.net/notes-java/data/expressions/bitops.html– http://www.javabeginner.com/java-operators.htm


Recommended