คำสั่งสลับใน Java

คำสั่งสลับใน Java

เราทุกคนใช้สวิตช์เป็นประจำในชีวิตประจำวัน ใช่แล้ว ฉันกำลังพูดถึงสวิตช์ไฟฟ้าที่เราใช้สำหรับไฟและพัดลม จากภาพด้านล่าง สวิตช์แต่ละตัวได้รับมอบหมายให้ทำงานกับอุปกรณ์ไฟฟ้าเฉพาะ ตัวอย่างเช่น ในภาพ สวิตช์ตัวแรกใช้สำหรับพัดลม สวิตช์ตัวถัดไปใช้สำหรับไฟ เป็นต้น ดังนั้น เราจะเห็นว่าสวิตช์แต่ละตัวสามารถเปิด/ปิดได้เพียง 1 รายการเท่านั้น

Java บทช่วยสอนกรณีสวิตช์

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

เอาล่ะ เดินหน้าต่อสายสวิตช์บอร์ดของคุณเองได้เลย!!