1. ตรรกะบูลีน
ใน Java คุณไม่สามารถเขียนนิพจน์18 < age <65
ได้ นั่นเป็นไวยากรณ์ที่ไม่ถูกต้องและโปรแกรมจะไม่คอมไพล์
แต่คุณสามารถเขียนได้ดังนี้:
(18 < age) AND (age < 65)
แน่นอน แทนที่จะเป็น word AND
จะมีตัวดำเนินการเชิงตรรกะ เราจะพูดถึงรายละเอียดเพิ่มเติมในตอนนี้
มีตัวดำเนินการเชิงตรรกะสามตัวใน Java: AND
(&&), OR
(||) และNOT
(!)
ข่าวดีก็คือคุณสามารถใช้วงเล็บเพื่อสร้างนิพจน์ตรรกะของความซับซ้อนใดๆก็ได้
ข่าวร้ายคือนักพัฒนา Java ตัดสินใจใช้สัญกรณ์จากภาษาCแทนคำand
ว่าor
และnot
ดูที่หน้าจอ:
ตัวดำเนินการเชิงตรรกะ | ความคาดหวัง | ความเป็นจริง |
---|---|---|
AND (∧) |
and |
&& |
OR (∨) |
or |
|| |
NOT (¬) |
not |
! |
ต่อไปนี้คือตัวอย่างบางส่วนของการใช้ตัวดำเนินการเชิงตรรกะใน Java:
การแสดงออก | การตีความ | คำอธิบาย |
---|---|---|
|
|
|
|
|
|
|
|
|
2. ตัวอย่างการใช้ตัวดำเนินการเปรียบเทียบและตัวแปรบูลีน
ทุกที่ที่คุณสามารถเขียนนิพจน์เชิงตรรกะได้ คุณสามารถเขียนตัวแปรเชิงตรรกะได้
ตัวอย่าง:
รหัส | คำอธิบาย |
---|---|
|
หากค่าของอายุอยู่ระหว่าง18 และ65 จะแสดงวลี "คุณทำงานได้" |
|
เราสร้างisYoung ตัวแปรและย้ายส่วนแรกของนิพจน์เข้าไป เราก็แทนที่age >= 18 ด้วยage < 18 . |
|
เราสร้างตัวแปร isOld และย้ายส่วนที่สองของนิพจน์เข้าไป นอกจากนี้ เราแทนที่age <= 65 ด้วยage > 65 . |
ตัวอย่างทั้งสามนี้เทียบเท่ากัน เฉพาะในตัวอย่างที่สองเท่านั้นที่เราย้ายส่วนหนึ่งของนิพจน์จากif
คำสั่งไปยังตัวแปรบูลีนแยกต่างหาก ( isYoung
) ในตัวอย่างที่สาม เราย้ายส่วนที่สองของนิพจน์ไปยังตัวแปรที่สอง ( isOld
)
3. เลขคณิตเชิงตรรกะ
มาดูการดำเนินการเชิงตรรกะโดยสังเขป
ตัวAND
ดำเนินการคือ&&
เรียกอีกอย่างว่าตัวเชื่อม
การแสดงออก | ผลลัพธ์ |
---|---|
|
|
|
|
|
|
|
|
กล่าวอีกนัยหนึ่ง ผลลัพธ์ของนิพจน์จะเกิดขึ้นtrue
ต่อเมื่อทั้งสองค่าที่ประกอบกันเป็นนิพจน์true
นั้น มิฉะนั้นจะเป็นfalse
เสมอ
ตัวOR
ดำเนินการคือ||
เรียกอีกอย่างว่าdisjunction
การแสดงออก | ผลลัพธ์ |
---|---|
|
|
|
|
|
|
|
|
กล่าวอีกนัยหนึ่ง ผลลัพธ์ของนิพจน์จะเป็นเสมอtrue
หากมีพจน์อย่างน้อยหนึ่งพจน์ในนิพจน์true
คือ หากเป็นทั้งคู่false
ผลลัพธ์false
คือ
ตัวNOT
ดำเนินการคือ!
หรือที่เรียกว่า โลจิ คัลผกผัน
การแสดงออก | ผลลัพธ์ |
---|---|
|
|
|
|
ตัวดำเนินการเปลี่ยนtrue
ไปfalse
และในทางกลับกัน
นิพจน์ที่เป็นประโยชน์:
การแสดงออก | ผลลัพธ์ |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION