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