Switch case: Java
Switch case เป็นคำสั่งไห้โปรแกรมทำงานในชุดคำสั่งใดคำสั่งหนึ่ง จากหลายทางเลือก แต่ละทางเลือกจะมีการกำหนดเงื่อนไขแต่ละทางเลือก หากคำสั่ง Switch case ตรวจสอบพบว่า caseทางเลือกไหนตรวจพบว่าเป็นจริง True ก็จะทำงานในทางเลือกนั้น
Switch (expression) {
case value1:
Statement1:
break;
case value2:
Statement2:
break;
case value_N
Statement_N
break;
default:
Statement_0
expression : เป็นนิพจน์ที่ต้องตรวจสอบกับ case:value หากตรงกัน (เป็นจริง True) โปรแกรมจะทำงานใน case:value นั้น
value: เป็นข้อมูลที่ต้องถูกตรวจสอบกับ expression ว่าตรงตามเงื่อนไขหรือไม่
Statement: เป็นคำสั่งที่ต้องทำงาน หากvalue ตรงกับexpression (True)
default,statement_0 : จะทำงานเมื่อไม่มี valueไหนเลยที่ตรงตามเงื่อนexpression
อธิบายเพิ่มเติม
*ไม่จำเป็นต้องมี defaule ก็ได้หากไม่ต้องการให้โปรแกรมทำงานใดๆ เลย ในกรณีที่ value ไม่ตรงกับ expression**นิพจน์ที่ใช้ตรวจสอบในคำสั่ง Switch case ต้องเป็นจำนวนเต็ม , ตัวอักขระ, ค่าตรรกศาสตร์ เท่านั้น
***คำสั่งbreak เป็นคำสั่งให้หยุดทำงานและออกจากบอคคำสั่ง Switch เมื่อค่า value ถูกตรวจสอบพบว่าตรงกับ expression เมื่อโปรแกรมทำงานตามลำดับไล่ลงมาและตรวจพบคำสั่ง break โปรแกรมจะออกจากSwitch ทันที
หากไม่ใส่คำสั่งbreak โปรแกรมจะไม่หยุดทำงานจนกว่าจะถึง default
เราได้ทำตัวอย่าง Switch case ที่พอจะเข้าใจได้ง่าย ๆ
พอจะอธิบายได้ดังนี้
บรรทัด8–9 รับข้อมูลเป็นตัวเลข เก็บข้อมูลเป็นชนิดint ไว้ในตัวแปร num ด้วยเมธอด nextInt();
บรรทัด11–22 ใช้คำสั่ง switch ตรวจสอบหาค่าในตัวแปร num ว่ามีค่าเท่ากับ1–2–3หรือไม่ เพื่อทำงานตามชุดคำสั่งนั้น หากตัวแปร num ตรงกับค่าใดค่าหนึ่งจะทำงานในคำสั่งนั้น เมื่อทำงานสำเร็จแล้ว switch ตรวจพบคำสั่ง break ก็จะออกจากโปรแกรมทันที หากไม่พบคำสั่ง break โปรแกรมจะทำงานไล่ลงมาทุกคำสั่งจนกว่าจะถึง default
และ!
หากตรวจสอบแล้วnum ไม่ตรงกับค่าใดเลย(1–2–3) โปรแกรมจะทำงานในคำสั่ง default คือบรรทัดที่21 และแสดงผลออกทางหน้าจอ ด้วยเมธอด println()
บรรทัด25 แสดงผลด้วยเมธอด println() คำว่า bye