สอน Java ตอนที่ 6.2 Control Statement แบบเงื่อนไข switch

เราเรียนรู้การใช้งาน control statement แบบเงื่อนไข if ซึ่งเมื่อพิจารณาจะพบว่า if เหมาะกับเงื่อนไข (condition) ที่เป็นลักษณะช่วงของข้อมูล ขอบเขตของข้อมูล สำหรับเงื่อนไขที่เป็นค่าตายตัว เช่น 5, 6, 7, 8, 9, 10 จึงมี Control Statement อีกแบบที่เหมาะสมมากกว่าคือ switch

Jul 02, 2016

แก้ไขล่าสุด มีผู้อ่าน 9,160  |  JAVA

จาก บทความที่แล้ว เราเรียนรู้การใช้งาน control statement แบบเงื่อนไข if ซึ่งเมื่อพิจารณาจะพบว่า if เหมาะกับเงื่อนไข (condition) ที่เป็นลักษณะช่วงของข้อมูล ขอบเขตของข้อมูล ตัวอย่างเช่น 

  • x มีค่ามากกว่า 5 
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


แบ่งปัน

ชอบ +1

บันทึก

ฝากคำถาม คำแนะนำ ได้ที่

Facebook : Share.OlanLab.Com
LINE ID : @olanlab
อีเมล์ : olan@olanlab.com

หลักสูตร

สอน Java สำหรับผู้เริ่มต้น

เรียนรู้การเขียนโปรแกรมโดยใช้ภาษา Java ตั้งแต่เริ่มต้นจนถึงขั้นสูงด้วยตัวเอง พร้อมแบบฝึกหัดและเทคนิคต่างๆ แบบ Step By Step
Share คลังความรู้ด้านเทคโนโลยี สารสนเทศ นวัตกรรมคอมพิวเตอร์ สอนเขียนโปรแกรม Php Java Html CSS Javascript C C++ Objective-C และอื่นๆ บนระบบปฏิบัติการ Window Linux Unix CentOS IOS Android
โดยผู้เขียนที่มีความเชี่ยวชาญเฉพาะ ให้บริการพื้นที่สำหรับนักเขียนที่ต้องการแบ่งปันความรู้ พร้อมให้คำปรึกษาแก่ผู้ที่สนใจ โดยไม่เสียค่าใช้จ่าย