คำสั่งเงื่อนไข If-Else ใน Java
วันนี้เราจะมาเรียนรู้เกี่ยวกับคำสั่งเงื่อนไข If-Else ใน Java กัน คำสั่งนี้ช่วยให้โปรแกรมของเราสามารถตัดสินใจและทำงานแตกต่างกันตามเงื่อนไขที่กำหนดได้
คำสั่ง If-Else คืออะไร?
คำสั่ง If-Else เป็นเหมือนทางแยกในโปรแกรมของเรา ที่ช่วยให้โปรแกรมเลือกทำสิ่งต่างๆ ตามเงื่อนไขที่เรากำหนด
เปรียบเทียบกับชีวิตประจำวัน:
- ถ้าฝนตก (เงื่อนไข) เราจะพกร่ม (การกระทำ)
- ถ้าไม่ใช่ เราจะไม่พกร่ม
โครงสร้างพื้นฐานของ If-Else
if (เงื่อนไข) {
// ทำอะไรบางอย่างถ้าเงื่อนไขเป็นจริง
} else {
// ทำอะไรบางอย่างถ้าเงื่อนไขเป็นเท็จ
}ตัวอย่างง่ายๆ
มาดูตัวอย่างโปรแกรมตรวจสอบว่าใครสามารถเข้าชมภาพยนตร์เรท 18+ ได้บ้าง
int อายุ = 20;
if (อายุ >= 18) {
System.out.println("คุณสามารถชมภาพยนตร์เรท 18+ ได้");
} else {
System.out.println("ขออภัย คุณอายุไม่ถึงเกณฑ์ในการชมภาพยนตร์เรท 18+");
}การใช้ Else If
บางครั้งเราอาจต้องการตรวจสอบหลายเงื่อนไข เราสามารถใช้ else if ได้:
int คะแนน = 75;
if (คะแนน >= 80) {
System.out.println("คุณได้เกรด A");
} else if (คะแนน >= 70) {
System.out.println("คุณได้เกรด B");
} else if (คะแนน >= 60) {
System.out.println("คุณได้เกรด C");
} else {
System.out.println("คุณต้องปรับปรุง");
}การซ้อน If-Else
เราสามารถใส่ If-Else ซ้อนกันได้ เพื่อตรวจสอบเงื่อนไขที่ซับซ้อนขึ้น:
boolean มีบัตรสมาชิก = true;
int อายุ = 25;
if (มีบัตรสมาชิก) {
if (อายุ >= 18) {
System.out.println("ยินดีต้อนรับสมาชิก! เชิญเข้าชมภาพยนตร์ได้เลย");
} else {
System.out.println("ขออภัย คุณอายุไม่ถึงเกณฑ์ในการชมภาพยนตร์นี้");
}
} else {
System.out.println("กรุณาสมัครสมาชิกก่อนเข้าชมภาพยนตร์");
}If-Else แบบย่อ (Ternary Operator)
Java มีวิธีการเขียน If-Else แบบย่อที่เรียกว่า Ternary Operator ซึ่งใช้สำหรับการตัดสินใจอย่างง่าย:
// รูปแบบ: เงื่อนไข ? ค่าเมื่อจริง : ค่าเมื่อเท็จ
int อายุ = 20;
String ผลการตรวจสอบ = (อายุ >= 18) ? "สามารถเข้าชมได้" : "ไม่สามารถเข้าชมได้";
System.out.println(ผลการตรวจสอบ);ในตัวอย่างนี้ ถ้า อายุ >= 18 เป็นจริง ตัวแปร ผลการตรวจสอบ จะมีค่าเป็น “สามารถเข้าชมได้” ถ้าไม่ใช่ จะมีค่าเป็น “ไม่สามารถเข้าชมได้”
เคล็ดลับการใช้ If-Else
- ตรวจสอบให้แน่ใจว่าเงื่อนไขของคุณถูกต้อง
- ใช้วงเล็บปีกกา
{}เสมอ แม้จะมีแค่คำสั่งเดียว เพื่อป้องกันความสับสน - พยายามไม่ซ้อน If-Else มากเกินไป เพราะจะทำให้โค้ดอ่านยาก
- ใช้ Ternary Operator สำหรับการตัดสินใจที่ง่ายและสั้น เพื่อทำให้โค้ดกระชับขึ้น
ตัวอย่างการใช้งานจริง
ลองมาดูตัวอย่างโปรแกรมคำนวณส่วนลดจากยอดซื้อกัน:
public class โปรแกรมคำนวณส่วนลด {
public static void main(String[] args) {
double ยอดซื้อ = 2500;
double ส่วนลด = 0;
String ระดับสมาชิก = "ทอง";
if (ยอดซื้อ >= 5000) {
ส่วนลด = 0.1; // ส่วนลด 10%
} else if (ยอดซื้อ >= 1000) {
ส่วนลด = 0.05; // ส่วนลด 5%
}
// เพิ่มส่วนลดพิเศษสำหรับสมาชิกระดับทอง
ส่วนลด += (ระดับสมาชิก.equals("ทอง")) ? 0.05 : 0;
double ยอดสุทธิ = ยอดซื้อ * (1 - ส่วนลด);
System.out.println("ยอดซื้อ: " + ยอดซื้อ + " บาท");
System.out.println("ส่วนลดทั้งหมด: " + (ส่วนลด * 100) + "%");
System.out.println("ยอดสุทธิ: " + ยอดสุทธิ + " บาท");
}
}สรุป
คำสั่ง If-Else เป็นเครื่องมือที่ทรงพลังในการทำให้โปรแกรมของเราตัดสินใจได้ ช่วยให้เราสร้างโปรแกรมที่ตอบสนองต่อสถานการณ์ต่างๆ ได้อย่างชาญฉลาด การใช้ If-Else ร่วมกับ Ternary Operator ช่วยให้เราเขียนโค้ดที่มีประสิทธิภาพและอ่านง่ายขึ้น