จากการเรียนของครั้งที่แล้วนั้น
การใช้ if กับ else เปล่าๆนั้น สามารถกำหนดเงื่อนไข
ได้แค่ใช่กับไม่เท่านั้น หรือพูดง่ายๆคือโปรแกรมจะทำเงื่อนไขได้แค่ 2 แบบเท่านั้น
แต่ถ้าเราต้องการเงื่อนไขที่ละเอียดมากขึ้น เราสามารถใช้ else if แทน else ธรรมดา
ซึ่งสามารถใช้ else if กี่ครั้งก็ได้ซึ่งตรงกันข้ามกับ else ธรรมดา
เช่น
if(x==120)
{ System.out.println("x = " + x);
System.out.println("Condition = true");
}
else if(x<120){
System.out.println("Your number is lower than that number!!!");
System.out.println("Please try again.");
}
else if(x>120){
System.out.println("Your number is higher than that number!!!");
System.out.println("Please try again.");
}
ซึ่งเป็นตัวอย่างหนึ่งของการบอกเงื่อนไขที่ละเอียดโดย
ถ้าตัวเลขนั้นมากกว่า 120 โปรแกรมจะทำงานว่า
Your number is higher than that number!!!
Please try again.
แต่ถ้าน้อยกว่าจำทำงาน
Your number is lower than that number!!!
Please try again.
แทน
โดยสรุปแล้ว การใช้ else if มีการเขียนชุดคำสั่งดังนี้
if(a){
ชุดคำสั่ง1;
}
else if(b){
ชุดคำสั่ง2;
}
else if(c){
ชุดคำสั่ง3;
}
.
.
.
ในอีกทางหนึ่ง หากโปรแกรมที่เป็นตัวเลขมากๆแล้ว
การใช้ if, else หรือ else if จะทำให้ข้อมูลการเขียนนั้นยาวมาก
จนอาจทำให้โปรแกรมทำงานมากจนเกินความจำเป็นก็ได้
เช่นการคิดคะแนนเกรด หรือการวัดรายได้ของประชากรเป็นต้น
ซึ่งตัวเลขนั้นมีมากมาย
เราจึงต้องใช้ switch - case ซึ่งโปรแกรมที่ทำงานคล้ายกับ if else
แต่สามารถทำงานได้หลากหลายกว่าและง่ายกว่า โดย
สามารถใช้กับข้อมูลที่เป็นจำนวนเต็มก็ได้ หรือเป็นอักขระก็ได้โดย
จะแบ่งเป็นกรณีๆ
เช่น
switch(x/10)
{
case 0:;
case 1:;
case 2:;
case 3:;
case 4:System.out.println("You're failed!!");break;
case 5:System.out.println("You're grade is D.");break;
case 6:System.out.println("You're grade is C.");break;
case 7:System.out.println("You're grade is B.");break;
case 8:;
case 9:;
case 10:System.out.println("You're grade is A. Congratulations!!");break;
}
ในกรณีนี้เป็นการใส่คะแนนเพื่อหาเกรด โดย
ถ้าคะแนนอยู่ในระดับ 80-100 จะได้เกรด A
ถ้าคะแนนอยู่ในระดับ 70-79 จะได้เกรด B
ถ้าคะแนนอยู่ในระดับ 69-60 จะได้เกรด C
ถ้าคะแนนอยู่ในระดับ 59-50 จะได้เกรด D
และน้อยกว่านั้นคือตก
*ข้อสังเกตุ 1 จากเงื่อนไข switch จะเห็นได้ว่าถ้าเป็นตัวเลขจำนวนเต็มที่หารด้วย 10 แล้ว
จะเหลือเศษอยู่ในบางกรณี ซึ่งโปรแกรมจะปัดเศษลงอัตโนมัติ เพื่อให้โปรแกรมทำงาน
2. ต้องมี break ตามท้ายด้วย เนื่องจากหากไม่มี โปรแกรมจะทำเงื่อนไขอื่นๆด้วย
เช่น หาก ได้คะแนน 62 โปรแกรมจะบอกว่า คุณได้เกรด A, B และ C ซึ่งมันตรงข้ามกับความเป็นจริง
สามารถดูตัวอย่างเพิ่มได้ที่นี่
http://www.megaupload.com/?d=SIBSR691
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น