លក្ខខណ្ឌ (Conditional Statements)
Conditional Statements (លក្ខខណ្ឌ) ក្នុង Java
🤔 Conditional Statements គឺជាអ្វី?
Conditional Statements គឺជាការសម្រេចចិត្តក្នុងកម្មវិធី ដូចជាអ្នកសម្រេចចិត្តក្នុងជីវិតប្រចាំថ្ងៃ។
ឧទាហរណ៍ក្នុងជីវិតពិត:
- ពេលភ្ញៀវ: ប្រសិនបើមានភ្លៀង យើងយកឆ័ត្រ បើមិនមាន មិនយកទេ
- ពេលសិក្សា: ប្រសិនបើពិន្ទុ >= 50 ជាប់ បើមិនដូច្នោះ ធ្លាក់
- ពេលទិញទំនិញ: ប្រសិនបើមានលុយគ្រប់ ទិញបាន បើមិនមាន មិនទិញ
📚 ហេតុអ្វីត្រូវការ Conditional Statements?
- ធ្វើការសម្រេចចិត្ត: កម្មវិធីអាចសម្រេចចិត្តតាមស្ថានភាពផ្សេងៗ
- ធ្វើឱ្យកម្មវិធីឆ្លាតវៃ: បម្រើការងារខុសៗតាមលក្ខខណ្ឌ
- បញ្ចៀសកំហុស: ពិនិត្យលក្ខខណ្ឌមុនពេលធ្វើការ
- បង្កើត 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
}
របៀបដំណើរការ:
- ពិនិត្យ condition (លក្ខខណ្ឌ)
- ប្រសិនបើ true → execute code block
- ប្រសិនបើ 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