© Khmer Angkor Academy - sophearithput168

លក្ខខណ្ឌ (Conditional Statements)

Conditional Statements (លក្ខខណ្ឌ) ក្នុង Java

🤔 Conditional Statements គឺជាអ្វី?

Conditional Statements គឺជាការសម្រេចចិត្តក្នុងកម្មវិធី ដូចជាអ្នកសម្រេចចិត្តក្នុងជីវិតប្រចាំថ្ងៃ។

ឧទាហរណ៍ក្នុងជីវិតពិត:

  • ពេលភ្ញៀវ: ប្រសិនបើមានភ្លៀង យើងយកឆ័ត្រ បើមិនមាន មិនយកទេ
  • ពេលសិក្សា: ប្រសិនបើពិន្ទុ >= 50 ជាប់ បើមិនដូច្នោះ ធ្លាក់
  • ពេលទិញទំនិញ: ប្រសិនបើមានលុយគ្រប់ ទិញបាន បើមិនមាន មិនទិញ

📚 ហេតុអ្វីត្រូវការ Conditional Statements?

  1. ធ្វើការសម្រេចចិត្ត: កម្មវិធីអាចសម្រេចចិត្តតាមស្ថានភាពផ្សេងៗ
  2. ធ្វើឱ្យកម្មវិធីឆ្លាតវៃ: បម្រើការងារខុសៗតាមលក្ខខណ្ឌ
  3. បញ្ចៀសកំហុស: ពិនិត្យលក្ខខណ្ឌមុនពេលធ្វើការ
  4. បង្កើត Logic ស្មុគស្មាញ: បញ្ចូលលក្ខខណ្ឌចំនួនច្រើន

🔀 ប្រភេទ Conditional Statements

  • if Statement: ប្រើសម្រាប់លក្ខខណ្ឌមួយ
  • if-else Statement: មានផ្លូវពីរ (ពិត ឬ មិនពិត)
  • if-else-if Ladder: លក្ខខណ្ឌជាន់គ្នាច្រើន
  • Nested if: if ក្នុង if
  • switch Statement: ជ្រើសរើសពីជម្រើសច្រើន

✅ if Statement

Syntax:

if (condition) {
    // code to execute if condition is true
}

របៀបដំណើរការ:

  1. ពិនិត្យ condition (លក្ខខណ្ឌ)
  2. ប្រសិនបើ true → execute code block
  3. ប្រសិនបើ false → រំលង code block

ឧទាហរណ៍ជីវិតពិត:

int age = 20;

if (age >= 18) {
    System.out.println("អ្នកគឺជាមនុស្សធំ");
}

int temperature = 35;
if (temperature > 30) {
    System.out.println("ថ្ងៃនេះក្តៅណាស់");
}

🔄 if-else Statement

Syntax:

if (condition) {
    // code if condition is true
} else {
    // code if condition is false
}

នៅពេលណាប្រើ if-else?

  • នៅពេលមានផ្លូវពីរច្បាស់លាស់ (Yes or No)
  • ចង់ធ្វើអ្វីមួយឬអ្វីមួយផ្សេងទៀត
  • ត្រូវការ action សម្រាប់ទាំង true និង false

ឧទាហរណ៍:

int score = 65;

if (score >= 50) {
    System.out.println("ជាប់ 🎉");
} else {
    System.out.println("ធ្លាក់ 😢");
}

// ឧទាហរណ៍ផ្សេងទៀត
boolean hasTicket = true;

if (hasTicket) {
    System.out.println("អញ្ញើញចូល");
} else {
    System.out.println("សូមទិញសំបុត្រសិន");
}

🪜 if-else-if Ladder

Syntax:

if (condition1) {
    // code for condition1
} else if (condition2) {
    // code for condition2
} else if (condition3) {
    // code for condition3
} else {
    // default code
}

ប្រើនៅពេលណា?

  • មានជម្រើសច្រើនជាង 2
  • ត្រូវពិនិត្យលក្ខខណ្ឌតាមលំដាប់
  • ជ្រើសរើសមួយក្នុងចំណោមជម្រើសជាច្រើន

ឧទាហរណ៍ពិន្ទុសិស្ស:

int score = 75;

if (score >= 90) {
    System.out.println("Grade A - ល្អប្រសើរ");
} else if (score >= 80) {
    System.out.println("Grade B - ល្អ");
} else if (score >= 70) {
    System.out.println("Grade C - មធ្យម");
} else if (score >= 50) {
    System.out.println("Grade D - ជាប់");
} else {
    System.out.println("Grade F - ធ្លាក់");
}

🎯 Nested if (if ក្នុង if)

int age = 25;
boolean hasLicense = true;

if (age >= 18) {
    if (hasLicense) {
        System.out.println("អាចបើកបរបាន");
    } else {
        System.out.println("ត្រូវមានប័ណ្ណបើកបរ");
    }
} else {
    System.out.println("អាយុមិនគ្រប់");
}
Java Code
Click "Run" to execute the Java code

🔀 Switch Statement

❓ Switch Statement គឺជាអ្វី?

Switch គឺជា alternative ល្អមួយរបស់ if-else-if នៅពេលត្រូវប្រៀបធៀបតម្លៃតែមួយជាមួយជម្រើសច្រើន។

Syntax:

switch (expression) {
    case value1:
        // code
        break;
    case value2:
        // code
        break;
    default:
        // code
}

🔑 ពាក្យគន្លឹះសំខាន់ៗ:

  • switch: ចាប់ផ្តើម switch statement
  • case: កំណត់ជម្រើសនីមួយៗ
  • break: ចេញពី switch (ប្រសិនបើគ្មាន វានឹងបន្តទៅ case ក្រោម)
  • default: execute ប្រសិនបើគ្មាន case ណាត្រូវ (ដូច else)

📊 if-else vs switch

លក្ខណៈ if-else switch
ប្រើសម្រាប់ លក្ខខណ្ឌណាក៏បាន ប្រៀបធៀបតម្លៃត្រឹមត្រូវ
អាចប្រើ >, <, >=, <=, ==, != == តែប៉ុណ្ណោះ
ល្បឿន យឺត (ចំពោះ case ច្រើន) លឿន (jump ត្រង់)
អាចអាន ប្រើសម្រាប់ logic ស្មុគស្មាញ ងាយអាន (ជម្រើសច្រើន)

💡 ប្រើ switch នៅពេលណា?

  • មានជម្រើសច្រើន (> 3-4)
  • ប្រៀបធៀប variable តែមួយ
  • គ្រាន់តែពិនិត្យ equality (==)
  • ចង់ឱ្យកូដងាយអាន

ឧទាហរណ៍ថ្ងៃក្នុងសប្តាហ៍:

int day = 3;
String dayName;

switch (day) {
    case 1:
        dayName = "ច័ន្ទ";
        break;
    case 2:
        dayName = "អង្គារ";
        break;
    case 3:
        dayName = "ពុធ";
        break;
    case 4:
        dayName = "ព្រហស្បតិ៍";
        break;
    case 5:
        dayName = "សុក្រ";
        break;
    case 6:
        dayName = "សៅរ៍";
        break;
    case 7:
        dayName = "អាទិត្យ";
        break;
    default:
        dayName = "តម្លៃមិនត្រឹមត្រូវ";
}

⚠️ Break Statement ជាអ្វី?

Break ប្រើដើម្បីចេញពី switch។ ប្រសិនបើមិនមាន break កូដនឹងបន្តទៅ case ក្រោម (fall-through)។

// ដោយគ្មាន break
int number = 1;
switch (number) {
    case 1:
        System.out.println("មួយ");
        // គ្មាន break!
    case 2:
        System.out.println("ពីរ");
        break;
}
// Output: មួយ
//         ពីរ

✅ Fall-through អាចមានប្រយោជន៍:

// ក្រុមថ្ងៃ
int day = 6;

switch (day) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        System.out.println("ថ្ងៃធ្វើការ");
        break;
    case 6:
    case 7:
        System.out.println("ថ្ងៃឈប់សម្រាក");
        break;
}
Java Code
Click "Run" to execute the Java code