สอน Java ตอนที่ 6.2 Control Statement แบบเงื่อนไข switch
เราเรียนรู้การใช้งาน control statement แบบเงื่อนไข if ซึ่งเมื่อพิจารณาจะพบว่า if เหมาะกับเงื่อนไข (condition) ที่เป็นลักษณะช่วงของข้อมูล ขอบเขตของข้อมูล สำหรับเงื่อนไขที่เป็นค่าตายตัว เช่น 5, 6, 7, 8, 9, 10 จึงมี Control Statement อีกแบบที่เหมาะสมมากกว่าคือ switch
http://share.olanlab.com/th/it/blog/view/88
โอฬาร สัมฤทธิ์เจียรผล
Jul 02, 2016
จาก บทความที่แล้ว เราเรียนรู้การใช้งาน control statement แบบเงื่อนไข if ซึ่งเมื่อพิจารณาจะพบว่า if เหมาะกับเงื่อนไข (condition) ที่เป็นลักษณะช่วงของข้อมูล ขอบเขตของข้อมูล ตัวอย่างเช่น
if (x > 5)
- x มีค่ามากกว่า 5 และ น้อยกว่า 10
if (x > 5)
if(x < 10)
สำหรับเงื่อนไขที่เป็นค่าตายตัว เช่น 5, 6, 7, 8, 9, 10 จึงมี Control Statement อีกแบบที่เหมาะสมมากกว่าคือ switch ครับ การเขียนโปรแกรมเพื่อใช้ switch เป็นยังไงมาดูกัน
Control Statement แบบเงื่อนไข switch
การใช้งาน switch มีส่วนสำคัญ 4 อย่าง ที่เราต้องทำความเข้าใจเพื่อไม่ให้การใช้งานผิดพลาด ประกอบด้วย switch, case, break, default
switch - เราจะใส่เงื่อนไขที่ถูกนำมาคิดไว้ที่ส่วนของ switch
case - ค่าที่อยู่ใน case ถ้าตรงกับเงื่อนไขใน switch คำสั่งที่อยู่ใน case นั้นจะทำงาน
break - เป็นคำสั่งที่ใช้ในการออกจาก switch
default - เมื่อไม่ตรงกับ case ไหนเลยจะมาทำคำสั่งที่ default แทน
ตัวอย่างโปรแกรมตัดเกรดโดยใช้ Control Statement เงื่อนไขแบบ switch
Source Code
import java.util.Scanner;
public class CalculateGrade {
public static void main(String[] args) {
int point = 0;
Scanner sc = new Scanner(System.in);
System.out.print("Enter your point : ");
point = sc.nextInt();
System.out.println("Program is calculating grade");
switch (point / 10) { // เงื่อนไขถูกนำมาใส่ไว้ที่ส่วนของ switch
case 10: // ทำงานเมื่อ point / 10 มีค่าเท่ากับ 10
case 9: // ทำงานเมื่อ point / 10 มีค่าเท่ากับ 9
case 8: // ทำงานเมื่อ point / 10 มีค่าเท่ากับ 8
System.out.println("Your grade is A");
break;
case 7: // ทำงานเมื่อ point / 10 มีค่าเท่ากับ 7
System.out.println("Your grade is B");
break;
case 6: // ทำงานเมื่อ point / 10 มีค่าเท่ากับ 6
System.out.println("Your grade is C");
break;
case 5: // ทำงานเมื่อ point / 10 มีค่าเท่ากับ 5
System.out.println("Your grade is D");
break;
default: // ทำงานเมื่อไม่เข้า case ไหนเลย
System.out.println("Your grade is F");
break;
}
}
}
Output
Enter your point : 100
Program is calculating grade
Your grade is A
Enter your point : 60
Program is calculating grade
Your grade is C
Enter your point : 10
Program is calculating grade
Your grade is F
ข้อควรระวัง จะสังเกตุว่าในแต่ละ case จะมีการใส่คำสั่ง break ด้วย เนื่องจากถ้าเราไม่ใส่ break โปรแกรมจะมองว่าให้ทำ case ถัดไปด้วย ดังนั้นถ้าเราต้องการให้โปรแกรมทำเพียง case ที่ต้องการ ต้องใส่ break ทุกครั้งครับ
บทความถัดไป
สอน Java ตอนที่ 6.3 Control Statement แบบเงื่อนไข Ternary Operation