คำสั่ง switch เป็นคำสั่ง switch ที่มีเงื่อนไขเดียวและหลายสาขา รูปแบบไวยากรณ์เป็นดังนี้:
สวิตช์ (นิพจน์) {ค่าคงที่ของตัวพิมพ์ 1: ตัวแบ่งค่าคงที่ของตัวพิมพ์ 2: ตัวแบ่งค่าคงที่ของตัวพิมพ์: คำชี้แจง n+1;}
ค่าของ "นิพจน์" ในคำสั่ง switch อาจเป็นประเภทไบต์, short, int หรือ char ก็ได้ "ค่าคงที่ 1" ถึง "ค่าคงที่ n" ก็เป็นประเภทไบต์, short, int หรือ char เช่นกัน และต้อง จะแตกต่างจากกัน
ขั้นแรกคำสั่ง switch จะคำนวณค่าของนิพจน์ หากค่าของนิพจน์เท่ากับค่าคงที่หลังจากผ่านไปบางกรณี คำสั่งในกรณีนั้นจะถูกดำเนินการจนกว่าจะพบคำสั่งแบ่ง หากไม่ได้ใช้คำสั่งแบ่งในกรณี เมื่อค่าของนิพจน์เท่ากับค่าคงที่ที่อยู่ด้านหลังกรณี โปรแกรมจะไม่เพียงดำเนินการคำสั่งในกรณีเท่านั้น แต่ยังดำเนินการดำเนินการคำสั่งต่อไปในกรณีต่อ ๆ ไปจนกระทั่ง พบคำสั่งแบ่ง หากค่าของนิพจน์ในคำสั่ง switch ไม่เท่ากับค่าคงที่ของกรณีใดๆ คำสั่งที่ตามค่าเริ่มต้นจะถูกดำเนินการ ค่าเริ่มต้นในคำสั่ง switch เป็นทางเลือก หากไม่มี และค่าของนิพจน์ในคำสั่ง switch ไม่เท่ากับค่าคงที่ของกรณีใดๆ คำสั่ง switch จะไม่ดำเนินการประมวลผลใดๆ
คุณลักษณะทั่วไปของคำสั่งย่อยแบบมีเงื่อนไขที่เราได้เรียนรู้มาก่อนหน้านี้คือการเลือกที่จะดำเนินการกับสาขาตามเงื่อนไขตั้งแต่หนึ่งเงื่อนไขขึ้นไป แทนที่จะเลือกดำเนินการหลายสาขา ในคำสั่ง switch โดยใช้คำสั่ง break อย่างมีเหตุผล คุณสามารถบรรลุผลลัพธ์ของการดำเนินการสาขาเดียวหรือหลายสาขาตามเงื่อนไข
ตัวอย่าง:
publicclassMain {publicstaticvoidmain(Stringargs[]){chargrade='B';switch(grade){case'A':System.out.println(excellent);break;case'B':System.out.println(ดี); break;case'C':System.out.println(ผ่าน);break;default:System.out.println(ไม่ทราบ);}}}
ผลการวิ่งมีดังนี้:
ดี