Untitled Document

สวัสดีครับ ก็ผ่านไปแล้วนะครับกับคำสั่ง if คราวนี้เราจะมาขึ้นคำสั่งใหม่อีกคำสั่งนะครับ คือ swicth ลักษณะการใช้คำสั่งนี้ก็ไม่ยุ่งยากอะไรเลยครับเป็นการเช็ค ตัวแปรที่รับเข้ามาว่าตรงกับ case ไหนก็จะเข้าไปทำใน case นั้นๆ เราลองมาดูรูปแบบของคำสั่งนี้กันเลยดีกว่าครับ


คำสั่ง switch มีรูปแบบดังนี้


จากรูปแบบของคำสั่งโปรแกรมจะตรวจสอบจากตัวแปรที่คำสั่ง switch (ตัวแปรในวงเล็บ)ว่ามีค่าเป็นเท่าไรแล้วนำมาตรวจสอบกับคำสั่ง case ถ้าตรงกับค่าของ case ใดก็จะทำงานตาม คำสั่งใน case นั้น เมื่อทำงานเสร็จ จะพบคำสั่ง break มีผลทำให้ออกไปจากคำสั่ง switch ทันที ในกรณีที่ไม่มีค่าใดตรงกับ case ที่ระบุโปรแกรม จะมาทำงานที่คำสั่ง default โดยอัตโนมัติ

ข้อกำหนดของการใช้คำสั่ง switch
ุ 1. ตัวแปรที่ใช้ในการตรวจสอบ จะต้องมีชนิดเป็นตัวเลขอย่างใดอย่างหนึ่ง ได้แก่ char,byte,short หรือ int และต้องอยู่ภายในเครื่องหมายวงเล็บ ( ) เท่านั้น
ุ 2. ชนิดของตัวเลขที่ใช้ในการตรวจสอบในคำสั่ง case จะต้องเป็นชนิดเดียวกันทั้งหมด
ุ 3. อาจไม่ใส่คำสั่ง break ไว้ก็ได้ แต่ถ้าไม่ใส่ จะทำให้โปรแกรมต้องตรวจสอบทุกๆเงื่อนไขจนกว่าจะหมด ซึ่งอาจทำให้เสียเวลาได้ ถ้าเงื่อนไขมีมากและซับซ้อน
ุ 4. คำสั่ง default อาจใส่หรือไม่ก็ได้ ถ้าใส่ก็นิยมใส่ไว้ที่บรรทัดสุดท้ายของการตรวจสอบ

ลองมาดูตัวอย่างที่เป็นโปรแกรมกันเลยครับ

สมมติให้ธนาคารคิดดอกเบี้ยตามระยะเวลาการกู้โดยแบ่งเป็น 3 กลุ่ม คือ
กลุ่มที่ 1 ระยะเวลากู้ 5 ปี คิดดอกเบี้ย 12%
กลุ่มที่ 2 ระยะเวลากู้ 15 ปี คิดดอกเบี้ย 18%
กลุ่มที่ 3 ระยะเวลากู้ 30 ปี คิดดอกเบี้ย 24%


อธิบายโปรแกรม จากโปรแกรมเราจะแบ่ง case ออกเป็น 3 case นะครับตามเงื่อนไขที่โจทย์กำหนดมา โดยเราจะรับค่า year เข้ามาและเปลี่ยนค่า year เป็น int เพื่อให้ เช็คใน switch ถ้าค่าปีที่รับมาตรงกับ case ใดก็จะแสดงผลอัตราดอกเบี้ยออกมา แต่ถ้าปีที่เราเข้ามาไม่ตรงกับ case ใดเลยก็จะมาทำที่ default คือแสดงคำว่า Error ออกมา

คำสั่งในบทความนี้คงไม่ยากเท่าไหร่นะครับเพราะในภาษาอื่นๆ ก็มีคำสั่งในลักษณะนี้เช่นเดียวกันซึ่งถ้าใครเคยเขียนโปรแกรมมาบ้างแล้วก็คงจะคุ้นเคยกับคำสั่งเหล่านี้ได้ดี บทความหน้าก็จะเป็นคำสั่งในการวนลูปนะครับ ติดตามต่อไปครับ...