ตัวดำเนินการคือสัญลักษณ์ที่ใช้ในการดำเนินการกับค่า ตัวแปร หรือคำสั่ง นิพจน์ที่พวกเขาดำเนินการเหล่านี้เรียกว่าตัวถูกดำเนินการ การดำเนินการส่งคืนผลลัพธ์บูลีน (จริงหรือเท็จ) สำหรับตัวดำเนินการเชิงสัมพันธ์ ความเท่าเทียมกัน และตรรกะ
จำนวนตัวถูกดำเนินการที่ตัวดำเนินการใช้เป็นตัวกำหนดประเภทของตัวถูกดำเนินการ โอเปอเรเตอร์ที่รับตัวถูกดำเนินการหนึ่งตัวเรียกว่า 'unary' ตัวดำเนินการที่ใช้ตัวถูกดำเนินการสองตัวเรียกว่า 'ไบนารี'
อ่านต่อไปเพื่อเรียนรู้วิธีที่คุณสามารถใช้ตัวดำเนินการเชิงตรรกะและเชิงสัมพันธ์ใน Java ยังดีกว่า ภาษาโปรแกรมส่วนใหญ่ใช้โอเปอเรเตอร์เดียวกัน ดังนั้นคุณจึงสามารถนำความรู้นี้ไปใช้กับที่อื่นได้
ตัวดำเนินการเชิงตรรกะ
ใช้เพื่อสร้างคำสั่งเชิงตรรกะขณะเขียนโปรแกรม มีตัวดำเนินการเชิงตรรกะหกตัวใน Java ตารางด้านล่างสรุปพวกเขา
โอเปอเรเตอร์ | ชื่อ | พิมพ์ |
---|---|---|
| | ตรรกะบูลีนOR | ไบนารี่ |
& | ตรรกะบูลีนและ | ไบนารี่ |
^ | Boolean Logical Exclusive OR | ไบนารี่ |
|| | OR . แบบมีเงื่อนไข | ไบนารี่ |
&& | เงื่อนไขและ | ไบนารี่ |
! | ตรรกะไม่ | อูนารี |
หากคุณต้องการตรวจสอบว่าเงื่อนไขหนึ่งหรือทั้งสองเป็นจริงหรือไม่ ให้ใช้ตัวดำเนินการนี้ เงื่อนไขคือนิพจน์ที่อาจเป็นจริงหรือเท็จก็ได้
การรวมตรรกะบูลีนหรือ (|)
ตรรกะ OR ตรวจสอบว่าตัวถูกดำเนินการทั้งสองเป็นจริงหรือไม่ก่อนที่จะประเมินนิพจน์
if ( dob <2005 | height <= 5){
money++;
}
ตัวอย่างข้างต้นจะให้เงินแก่ใครบางคนมากขึ้นหากวันเกิดของพวกเขา (dob) น้อยกว่า 2005 หรือถ้าความสูงของพวกเขาน้อยกว่าหรือเท่ากับ 5 ฟุต
ตรรกะบูลีนและ (&)
โอเปอเรเตอร์นี้ใช้เพื่อตรวจสอบว่าเงื่อนไขทั้งสองเป็นจริงหรือไม่ก่อนดำเนินการเส้นทางการดำเนินการบางอย่างในโปรแกรม ก่อนอื่นจะตรวจสอบว่าเงื่อนไขทั้งสองเป็นจริงหรือไม่ก่อนที่จะประเมินนิพจน์ทั้งหมด
ที่เกี่ยวข้อง: วิธีตรวจสอบสตริงโดยใช้วิธีบูลีนใน Python
Boolean Logical Exclusive หรือ (^)
หากคุณต้องการตรวจสอบว่าเงื่อนไขข้อใดข้อหนึ่งเป็นจริง แต่ไม่ใช่ทั้งสองอย่าง นี่คือโอเปอเรเตอร์ที่จะใช้ ตารางความจริงด้านล่างสรุปผลลัพธ์ที่คุณจะเห็นเมื่อคุณใช้
การแสดงออก1 | การแสดงออก2 | นิพจน์1 ^ นิพจน์2 |
---|---|---|
เท็จ | เท็จ | เท็จ |
เท็จ | จริง | จริง |
จริง | เท็จ | จริง |
จริง | จริง | เท็จ |
เงื่อนไขบูลีนและ (&&)
โอเปอเรเตอร์นี้คล้ายกับตรรกะ AND ข้อแตกต่างคือจะตรวจสอบก่อนว่าเงื่อนไขด้านซ้ายเป็นจริงหรือไม่ก่อนที่จะดำเนินการตรวจสอบด้านขวา
หากพบว่าส่วนซ้ายเป็นเท็จ การดำเนินการจะหยุดทันที มิฉะนั้น การประเมินส่วนที่ถูกต้องจะดำเนินต่อไป คุณลักษณะนี้เรียกว่าการประเมินการลัดวงจร
ดูตารางความจริงด้านล่างเพื่อทำความเข้าใจโอเปอเรเตอร์นี้
การแสดงออก1 | การแสดงออก2 | นิพจน์1 && นิพจน์2 |
---|---|---|
เท็จ | เท็จ | เท็จ |
เท็จ | จริง | เท็จ |
จริง | เท็จ | เท็จ |
จริง | จริง | จริง |
เงื่อนไขหรือ (||)
หากเงื่อนไขใดเงื่อนไขหนึ่งเป็นเท็จ การดำเนินการจะข้ามไปยังส่วนถัดไปของโปรแกรม กล่าวอีกนัยหนึ่งเงื่อนไขทั้งสองจะต้องเป็นจริง
โอเปอเรเตอร์นี้คล้ายกับ Logical OR นอกจากนี้ยังตรวจสอบว่าเงื่อนไขใดเงื่อนไขหนึ่งหรือทั้งสองเป็นจริงก่อนที่จะรันโค้ดบางตัว
เช่นเดียวกับเงื่อนไข AND ตรรกะ OR ยังใช้การประเมินการลัดวงจร อันดับแรกจะตรวจสอบว่าตัวถูกดำเนินการทางซ้ายเป็นจริงหรือไม่ก่อนที่จะประเมินค่าทางขวา
ที่เกี่ยวข้อง: ตัวสร้างใน Java คืออะไรและคุณใช้งานอย่างไร?
วอลล์เปเปอร์สด hd ที่ดีที่สุดสำหรับ android
หากพบว่าเงื่อนไขทางด้านซ้ายเป็นจริง ก็ไม่จำเป็นต้องตรวจสอบเงื่อนไขทางขวา มิฉะนั้น การประเมินทางด้านขวาจะดำเนินต่อไป
ตรรกะไม่ (!)
ตัวดำเนินการนี้ใช้เพื่อลบล้างเงื่อนไข มันเพียงย้อนความหมายของสิ่งที่ทำงานอยู่
if(!(x>5)){
// statements
}
ข้อความข้างต้นหมายความว่าถ้า 'x มากกว่า 5' ไม่เป็นความจริง ให้ดำเนินการคำสั่งภายใน ถ้า .
สังเกตการใช้วงเล็บเหลี่ยมกับนิพจน์ (x>5) หากคุณไม่ได้ใส่วงเล็บเหล่านี้ขณะเขียนโปรแกรม คุณจะได้รับข้อผิดพลาดในการคอมไพล์ สาเหตุก็เพราะ ! เป็นตัวดำเนินการเอกพจน์ที่ทำหน้าที่ในเงื่อนไข หากไม่มีวงเล็บ คอมไพเลอร์จะตีความว่าเป็นโอเปอเรเตอร์ที่ดำเนินการกับ x ไม่ใช่ x>5
การรวมวงเล็บไม่ได้เป็นเพียงการทำให้คอมไพเลอร์สามารถตีความนิพจน์ได้อย่างถูกต้อง นอกจากนี้ยังสามารถใช้เป็นวิธีที่โปรแกรมเมอร์เข้าใจนิพจน์ที่ซับซ้อนมากขึ้น ดูตัวอย่างด้านล่าง:
age >= 7 && height <5
บางคนอาจพบว่ามันยากที่จะทำตามตรรกะ ดังนั้น โปรแกรมเมอร์บางคนจึงต้องการเพิ่มวงเล็บที่ซ้ำซ้อนเพื่อเหตุผลในการอ่าน:
(age >= 7) && (height <5)
ผู้ประกอบการสัมพันธ์
ตัวดำเนินการเหล่านี้ใช้เพื่อเปรียบเทียบความสัมพันธ์อย่างง่ายระหว่างตัวถูกดำเนินการ
โอเปอเรเตอร์ | ชื่อ |
---|---|
> | มากกว่า |
< | น้อยกว่า |
> = | มากกว่าหรือเท่ากับ |
<= | น้อยกว่าหรือเท่ากับ |
โอเปอเรเตอร์เชิงสัมพันธ์นั้นค่อนข้างเข้าใจง่ายเพราะพวกมันมีความหมายเหมือนกันกับตัวดำเนินการพีชคณิตทั่วไปที่คุณคุ้นเคยอยู่แล้ว กล่าวคือ, > และ < มีความหมายเดียวกันกับที่คุณทราบอยู่แล้วตามที่ระบุในตารางด้านบน
if( x <= 7 ){
x++;
}
ข้างบน ถ้า คำสั่งตรวจสอบว่า x น้อยกว่าหรือเท่ากับ 7 หรือไม่ ถ้าเป็นจริง คำสั่งในวงเล็บจะดำเนินการ มิฉะนั้น จะไม่ทำ
ตอนนี้เป็นเวลาที่ดีที่จะพูดถึงตัวดำเนินการความเท่าเทียมกัน มีเพียงสองคนเท่านั้น (เท่ากับ == และ != ไม่เท่ากับ ) ตามชื่อของมัน พวกมันถูกใช้เพื่อทดสอบความเท่าเทียมกันระหว่างตัวถูกดำเนินการสองตัว
ที่เกี่ยวข้อง: วิธีสร้างและดำเนินการกับอาร์เรย์ใน Java
อย่าสับสนระหว่างตัวดำเนินการความเท่าเทียมกัน (==) กับตัวดำเนินการกำหนด (=) โปรแกรมเมอร์มือใหม่ชอบที่จะผสมผสานทั้งสองเข้าด้วยกัน นี่เป็นเหตุผลที่สมเหตุสมผลเนื่องจากในพีชคณิตสัญลักษณ์ (=) ใช้เพื่อแสดงความเท่าเทียมกัน นั่นไม่ถูกต้องในการเขียนโปรแกรมแม้ว่า
ตัวดำเนินการกำหนด (=) กำหนดค่าให้กับตัวแปรในขณะที่ตัวดำเนินการความเท่าเทียมกัน (==) ทดสอบความเท่าเทียมกัน ดูตัวอย่างด้านล่างเพื่อทำความเข้าใจความแตกต่าง:
if(x=5){
// statements
}
โค้ดด้านบนจะทำงานเสมอโดยไม่คำนึงว่า x จะเท่ากับ 5 จริงหรือไม่ ในขณะเดียวกันโค้ดด้านล่างจะทำงานก็ต่อเมื่อ x เท่ากับ 5 เท่านั้น ดังนั้นจึงเป็นเรื่องสำคัญที่จะไม่ผสมทั้งสองอย่างเข้าด้วยกัน
if(x==5){
// statements
}
ตัวดำเนินการความเท่าเทียมกันทั้งสองที่กล่าวถึงมีลำดับความสำคัญเท่ากัน แม้ว่าจะต่ำกว่าตัวดำเนินการเชิงสัมพันธ์
ตัวดำเนินการเชิงสัมพันธ์ก็มีระดับความสำคัญเท่ากันเช่นกัน การดำเนินการของตัวดำเนินการเหล่านี้เริ่มต้นจากซ้ายไปขวา
ข้อควรพิจารณาเพิ่มเติมของตัวดำเนินการ Java
คุณต้องสังเกตว่ามีช่องว่างระหว่างโอเปอเรเตอร์บางตัวกับตัวถูกดำเนินการในตัวอย่างบางตัว ขณะที่ตัวดำเนินการอื่นๆ ไม่มี
การไม่มี / การมีอยู่ของพื้นที่นั้นไม่ควรทำให้คุณกังวล คอมไพเลอร์จะไม่สนใจมัน ดังนั้น นิพจน์ต่อไปนี้จึงมีความหมายเหมือนกัน:
Y>=7 // no whitespace
Y >= 7 // with whitespace
โดยทั่วไปแล้วตัวดำเนินการเชิงสัมพันธ์จะใช้เพื่อแสดงเงื่อนไขง่ายๆ หากต้องการรวมเงื่อนไขง่าย ๆ เข้ากับเงื่อนไขที่ซับซ้อนมากขึ้น คุณจะต้องใช้ตัวดำเนินการเชิงตรรกะ ตัวดำเนินการเชิงตรรกะสามารถทดสอบได้หลายเงื่อนไข ซึ่งแตกต่างจากตัวดำเนินการเชิงสัมพันธ์ที่ทดสอบเพียงเงื่อนไขเดียว
สิ่งสำคัญคือต้องสังเกตว่าตัวดำเนินการเชิงตรรกะ ( |, &, ^) สามารถเป็นตัวดำเนินการระดับบิตได้เมื่อมีตัวถูกดำเนินการรวม เมื่อใช้เป็นโอเปอเรเตอร์ระดับบิต พวกมันจะทำงานบนบิตของตัวถูกดำเนินการ
ด้วยความรู้เกี่ยวกับโอเปอเรเตอร์นี้ คุณควรพร้อมที่จะเรียนรู้คลาส Java
แบ่งปัน แบ่งปัน ทวีต อีเมล เรียนรู้วิธีสร้างคลาสใน Javaหากคุณกำลังเรียนรู้การเขียนโปรแกรมใน Java คุณจะต้องรู้วิธีสร้างคลาส
อ่านต่อไป หัวข้อที่เกี่ยวข้อง- การเขียนโปรแกรม
- Java
- บทเรียนการเข้ารหัส
เจอโรมเป็นพนักงานเขียนบทที่ MakeUseOf เขาครอบคลุมบทความเกี่ยวกับการเขียนโปรแกรมและลินุกซ์ เขายังเป็นคนที่กระตือรือร้นในการเข้ารหัสและคอยติดตามดูอุตสาหกรรม crypto อยู่เสมอ
เพิ่มเติมจาก Jerome Davidsonสมัครรับจดหมายข่าวของเรา
เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!
คลิกที่นี่เพื่อสมัครสมาชิก