1. สรุปแนวคิดสำคัญ (5–10 นาที)
เมื่อเงื่อนไขเริ่มมีความซับซ้อนขึ้น เราจะใช้ Logical Operators (ตัวเชื่อมตรรกะ) เพื่อรวมหลายเงื่อนไขเข้าด้วยกัน และใช้ Switch-Case เมื่อต้องการจับคู่ค่าที่ชัดเจนหลายทางเลือก:
• && (AND - และ): จริงเมื่อ ทุกเงื่อนไขเป็นจริงพร้อมกัน (ถ้าเจอเท็จแม้แต่อันเดียว จะได้เท็จทันที)
• || (OR - หรือ): จริงเมื่อ มีเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง (เท็จเฉพาะเมื่อทุกอันเป็นเท็จ)
• ! (NOT - ไม่): กลับค่าความจริงจากจริงเป็นเท็จ หรือเท็จเป็นจริง
เหมาะกับการเปรียบเทียบค่าแบบเท่ากันตรงๆ (Equality check) เช่น สถานะพัสดุ รหัสข้อผิดพลาด หรือเมนูตัวเลือก ช่วยให้โค้ดสะอาดกว่าการเขียน else if ซ้อนกันหลายชั้น
• break; สำคัญมาก! เพื่อหยุดการทำงานไม่ให้ไหลไปทำ case ถัดไป
• default: เป็นเคสสำรองกรณีไม่มี case ไหนตรงเลย
| ตรรกะ | ตัวอย่างนิพจน์ | ผลลัพธ์ |
|---|---|---|
| A && B | (age >= 18) && hasLicense | ต้องจริงทั้งคู่ |
| A || B | isWeekend || isHoliday | จริงอย่างน้อยหนึ่งข้อ |
| !A | !isLoggedIn | กลับค่า (ถ้า true เป็น false) |
String status = 'SHIPPED';
switch (status) {
case 'PENDING':
print('รอร้านค้าเตรียมพัสดุ');
break;
case 'SHIPPED':
print('พัสดุอยู่ระหว่างนำจ่าย');
break;
case 'DELIVERED':
print('ส่งมอบสินค้าสำเร็จเรียบร้อย');
break;
default:
print('ไม่พบสถานะในระบบ');
}
ควิซเช็กความเข้าใจ (Quick Quiz)
1 ข้อสั้นๆ
ถ้านิพจน์คือ (5 > 3) && (2 > 10) ผลลัพธ์สุดท้ายทางตรรกะคือค่าใด?
โจทย์ประจำวัน: ระบบตรวจสอบสถานะพัสดุและแจ้งเตือนด่วน (Order Tracker)
เขียนโค้ดในฟังก์ชัน main() เพื่อเช็กสถานะการสั่งซื้อตามข้อกำหนดต่อไปนี้:
1) ประกาศตัวแปร String status = 'SHIPPED'; (ทดสอบเปลี่ยนเป็น PENDING, SHIPPED, DELIVERED หรือ CANCELLED)
2) ประกาศตัวแปร bool isExpress = true; (บริการส่งด่วนพิเศษ)
3) ใช้ if พร้อมตัวเชื่อมตรรกะ (&& หรือ ||) เพื่อเช็กเงื่อนไขพิเศษ เช่น ถ้า status == 'SHIPPED' && isExpress ให้พิมพ์ [ด่วนพิเศษ] สินค้าจะถึงภายในวันนี้!
4) ใช้โครงสร้าง switch (status) แยกสถานะอย่างน้อย 3 เคส ('PENDING', 'SHIPPED', 'DELIVERED') และมี default
5) อย่าลืมใส่คำสั่ง break; ในแต่ละ case ให้ครบถ้วน
2
3
4
5
6
7
8
9
10
11
12
13
14
ตรวจรับการบ้านประจำวัน Day 6
มีตัวแปร status, ตัวเชื่อมตรรกะ (&& หรือ ||), โครงสร้าง switch-case และ default