คำสั่งสลับใน Java
คำสั่งสลับใน Java
เราทุกคนใช้สวิตช์เป็นประจำในชีวิตประจำวัน ใช่แล้ว ฉันกำลังพูดถึงสวิตช์ไฟฟ้าที่เราใช้สำหรับไฟและพัดลม จากภาพด้านล่าง สวิตช์แต่ละตัวได้รับมอบหมายให้ทำงานกับอุปกรณ์ไฟฟ้าเฉพาะ ตัวอย่างเช่น ในภาพ สวิตช์ตัวแรกใช้สำหรับพัดลม สวิตช์ตัวถัดไปใช้สำหรับไฟ เป็นต้น ดังนั้น เราจะเห็นว่าสวิตช์แต่ละตัวสามารถเปิด/ปิดได้เพียง 1 รายการเท่านั้น
Switch Case คืออะไร Java?
ในทำนองเดียวกันให้สลับเข้า Java เป็นประเภทของคำสั่งเงื่อนไขที่เปิดใช้งานเฉพาะเงื่อนไขการจับคู่จากอินพุตที่กำหนด มาพิจารณาตัวอย่างของโปรแกรมที่ผู้ใช้ป้อนอินพุตเป็นค่าตัวเลข (ในตัวอย่างนี้มีเพียง 1 หลัก) และเอาต์พุตควรเป็นจำนวนคำ ตัวแปรจำนวนเต็ม iSwitch เป็นอินพุตสำหรับให้สวิตช์ทำงาน
ตัวเลือกต่างๆ ที่มี (กรณีการอ่าน) จะถูกเขียนเป็นกรณีและปัญหา พร้อมด้วยเครื่องหมายโคลอน ">:"
จากนั้นจะมีคำสั่งที่จะดำเนินการหากเคสและอินพุตของสวิตช์ตรงกัน
Java ตัวอย่างเคสสวิตช์
class SwitchBoard{ public static void main(String args[]){ int iSwitch=4; switch(iSwitch){ case 0: System.out.println("ZERO"); break; case 1: System.out.println("ONE"); break; case 2: System.out.println("TWO"); break; case 3: System.out.println("THREE"); break; case 4: System.out.println("FOUR"); break; default: System.out.println("Not in the list"); break; } } }
ผลลัพธ์ที่คาดหวัง:
FOUR
ตอนนี้ 2 คำเหล่านั้นพังและค่าเริ่มต้นที่โกหกอยู่ทำอะไร?
- อันแรก “แตกหัก” – จะแยกออกจากบล็อกสวิตช์ทันทีที่เงื่อนไขบรรลุผล
- “ค่าเริ่มต้น” – สิ่งนี้จะถูกดำเนินการในกรณีที่ไม่มีเงื่อนไขใดตรงกับอินพุตที่กำหนด
ในตัวอย่างที่กำหนด เหล่านี้เป็นคำสั่งการพิมพ์ง่ายๆ แต่ยังสามารถอ้างอิงถึงสถานการณ์ที่ซับซ้อนกว่า เช่น การเรียกใช้เมธอด ฯลฯ ได้อีกด้วย
จะทำอย่างไรถ้าคุณไม่หยุดพัก?
ในกรณีที่ไม่มีการหยุดพัก ระบบจะดำเนินการตามเงื่อนไขที่ตรงกันและเงื่อนไขเริ่มต้น ตรรกะของคุณจะผิดพลาดหากเกิดเหตุการณ์ดังกล่าวขึ้น ฉันจะปล่อยให้ผู้ใช้ทดลองเองโดยไม่ต้องใช้การหยุดพัก
Java คำสั่งสลับ
- โดยเป็นตรรกะการเขียนโปรแกรมมาตรฐาน สามารถทำได้ง่ายๆ โดยใช้เงื่อนไข if…else แต่จะไม่เหมาะสำหรับการฝึกการเขียนโปรแกรมที่ดี และโค้ดก็จะดูอ่านยากด้วย
- ในโปรแกรมที่มีกรณีที่ซับซ้อนกว่านี้ สถานการณ์จะไม่ง่ายนักและจำเป็นต้องเรียกใช้เมธอดหลายรายการ Switch ช่วยแก้ปัญหานี้และหลีกเลี่ยงการใช้คำสั่ง if…else ซ้อนกันหลายรายการ นอกจากนี้ ในขณะที่ใช้ if….else ขอแนะนำให้ใช้เงื่อนไขที่คาดหวังไว้สูงสุดไว้ด้านบน จากนั้นจึงดำเนินการต่อในลักษณะซ้อนกัน
- การทดสอบประสิทธิภาพบางอย่างพิสูจน์แล้วว่าในกรณีของ Java ที่มีการวนซ้ำจำนวนมาก การสลับจะเร็วกว่าเมื่อเทียบกับคำสั่ง if….else
คะแนนหมายเหตุ
- คุณสามารถมี case java ได้ไม่จำกัด
- Switch java สามารถรับอินพุตเป็นจำนวนเต็มหรืออักขระเท่านั้น
- รุ่นล่าสุดของ Java8 ยังแนะนำการสนับสนุนที่รอคอยมานานสำหรับคำสั่งสตริงสวิตช์ Java
เอาล่ะ เดินหน้าต่อสายสวิตช์บอร์ดของคุณเองได้เลย!!