1. Booleanประเภท
ดังที่เราได้เห็นแล้ว Java มีif-elseคำสั่ง ที่มีประโยชน์อย่างยิ่ง มันดำเนินการหนึ่งกลุ่มของคำสั่งถ้าเงื่อนไขในวงเล็บเป็นจริงและกลุ่มที่สองของคำสั่งถ้าเงื่อนไขเป็นเท็จ
เพื่อความสะดวกเมื่อทำงานกับนิพจน์ที่สามารถเป็นจริงหรือเท็จ ผู้สร้างของ Java ได้เพิ่มbooleanชนิด พิเศษ คุณสมบัติหลักคือตัวแปรประเภทนี้สามารถรับค่าได้เพียงสองค่าเท่านั้น: trueและfalse
เป็นไปไม่ได้ที่จะกำหนดค่าอื่นใดให้กับbooleanตัวแปร คอมไพเลอร์ไม่อนุญาต
และทำไมเราถึงต้องการประเภทดั้งเดิมเช่นนี้?
สิ่งที่ดีคือคุณสามารถใช้มันเพื่อเก็บค่าของนิพจน์เชิงตรรกะ ตัวอย่าง:
| รหัส | คำอธิบาย |
|---|---|
|
ตัวแปร บูลีนisOKมีค่าtrue |
|
ตัวแปร บูลีนhasErrorมีค่าfalse |
|
ตัวแปร บูลีนisSeniorมีค่าtrue |
|
ตัวแปร บูลีนhasNewRecordมีค่าtrue |
|
ตัวแปร บูลีน ตัวแปร บูลีน |
2. การใช้ตัวแปรบูลีน
ตัวแปรบูลีนจะมีประโยชน์เพียงเล็กน้อยหากสามารถเก็บผลลัพธ์ของนิพจน์เท่านั้น ประเด็นคือคุณสามารถใช้มันได้ ที่ไหน? ทุกที่ที่คุณสามารถเขียนนิพจน์เชิงตรรกะ
ตัวอย่างเช่น คุณสามารถใช้ตัวแปรบูลีนในเงื่อนไขของifคำสั่ง:
| รหัส | เทียบเท่า |
|---|---|
|
|
ในตัวอย่างนี้ มีประโยชน์เล็กน้อยจากการแทนที่นี้ แต่เมื่อโปรแกรมมีขนาดใหญ่ขึ้น เงื่อนไขของโปรแกรมจะซับซ้อนมากขึ้น คุณจะมั่นใจในสิ่งนี้ในอนาคตอันใกล้นี้
3. ตัวดำเนินการเปรียบเทียบ
ใน Java เช่นเดียวกับภาษาการเขียนโปรแกรมอื่น ๆ มักจะจำเป็นต้องเปรียบเทียบตัวแปรกับตัวแปรอื่น และ Java มีเพียงตัวดำเนินการที่คุณต้องการทำการเปรียบเทียบ:
| โอเปอเรเตอร์ | คำอธิบาย | ตัวอย่าง |
|---|---|---|
< |
น้อยกว่า | a < 10 |
> |
มากกว่า | b > a |
<= |
น้อยกว่าหรือเท่ากับ | a <= 10 |
>= |
มากกว่าหรือเท่ากับ | speed >= max |
== |
เท่ากับ | age == 18 |
!= |
ไม่เท่ากัน | time != 0 |
ตัวดำเนินการข้างต้นใช้เพื่อสร้างนิพจน์เชิงตรรกะ ผลลัพธ์สามารถเก็บไว้ในbooleanตัวแปรหรือใช้เป็นเงื่อนไขของifคำสั่ง
ตัวดำเนินการที่ประกอบด้วยอักขระสองตัวไม่สามารถแยกออกจากกันได้
กล่าวอีกนัยหนึ่ง โค้ดเช่นนี้จะไม่คอมไพล์:
a < = 10
speed > = max
age = = 18
time ! = 0
โปรดทราบว่าไม่มี=>หรือ=<ตัวดำเนินการ เฉพาะตัวดำเนินการ<=และ >=หากคุณเขียนโค้ดของคุณจะไม่ถูกคอมไพล์a=< 3
ใน Java คุณไม่สามารถเขียนนิพจน์เช่น. ท้ายที่สุด นิพจน์จะถูกประเมินเป็นหรือ และคุณไม่สามารถทำการเปรียบเทียบได้(ประเภทต่างกัน) อย่างน้อยก็ใน Java18 < age < 6518 < agetruefalsetrue < 65
ทำอะไรได้บ้าง? คุณจะพบคำตอบสำหรับคำถามนี้ในบทเรียนถัดไป
GO TO FULL VERSION