អថេរ (Variables)
អថេរ (Variables) ក្នុង Java
🤔 អថេរគឺជាអ្វី?
អថេរ (Variable) គឺដូចជា "ប្រអប់" ឬ "ធុង" ដែលយើងប្រើដើម្បីរក្សាទុកទិន្នន័យក្នុងកម្មវិធី។ វាមានឈ្មោះ និងអាចផ្ទុកតម្លៃបាន។
ឧទាហរណ៍ក្នុងជីវិតពិត៖
- ប្រអប់ឈ្មោះ "អាយុ" អាចផ្ទុកលេខ 25
- ប្រអប់ឈ្មោះ "ឈ្មោះ" អាចផ្ទុក "សុខ ដារ៉ា"
- ប្រអប់ឈ្មោះ "តម្លៃ" អាចផ្ទុក 99.99
📦 ហេតុអ្វីត្រូវការអថេរ?
កម្មវិធីទាំងអស់ត្រូវការរក្សាទុក និងប្រើប្រាស់ទិន្នន័យ៖
- រក្សាទុកព័ត៌មានអ្នកប្រើប្រាស់ - ឈ្មោះ, អាយុ, អាសយដ្ឋាន
- ធ្វើប្រមាណវិធី - គណនា, ប្រៀបធៀប
- រក្សាលទ្ធផល - ផលបូក, ផលគុណ
- ត្រួតពិនិត្យលក្ខខណ្ឌ - ពិនិត្យតម្លៃ
✍️ របៀបប្រកាសអថេរ
ក្នុង Java យើងត្រូវប្រាប់កម្មវិធីពី៖
- ប្រភេទទិន្នន័យ (Data Type) - អថេរផ្ទុកអ្វី? លេខ? អក្សរ?
- ឈ្មោះអថេរ (Variable Name) - យើងហៅវាថាអ្វី?
- តម្លៃ (Value) - វាផ្ទុកអ្វី? (ស្រេចចិត្ត)
Syntax:
dataType variableName = value;
ឧទាហរណ៍៖
int age = 25; // អាយុ = លេខពេញ
String name = "Dara"; // ឈ្មោះ = អក្សរ
double price = 99.99; // តម្លៃ = លេខទសភាគ
boolean isStudent = true; // សិស្ស? = ពិត/មិនពិត
🔄 ផ្លាស់ប្តូរតម្លៃអថេរ
អថេរគឺ "អថេរ" (variable) មានន័យថាតម្លៃអាចផ្លាស់ប្តូរបាន៖
int score = 80;
score = 90; // ឥឡូវ score = 90
score = score + 5; // score = 95
ប្រភេទអថេរក្នុង Java
Java មានអថេរ 3 ប្រភេទធំៗ៖
1️⃣ Local Variables (អថេរមូលដ្ឋាន)
ប្រកាសនៅ: ក្នុង method, constructor ឬ block
Scope: ប្រើបានតែក្នុង method នោះប៉ុណ្ណោះ
ចាំបាច់ initialize: ត្រូវផ្តល់តម្លៃមុនប្រើ
ឧទាហរណ៍៖
public void calculate() {
int x = 10; // Local variable
System.out.println(x);
} // x បាត់បង់ពេលចេញពី method
2️⃣ Instance Variables (អថេរសមាជិក)
ប្រកាសនៅ: ក្នុង class (ក្រៅ method)
Scope: ប្រើបានទូទាំង object
Default value: មានតម្លៃ default (0, null, false)
ឧទាហរណ៍៖
class Student {
String name; // Instance variable
int age; // Instance variable
}
3️⃣ Static Variables (អថេរថេរ/Class Variables)
ប្រកាសនៅ: ក្នុង class ដោយប្រើ static keyword
Scope: ចែករំលែកដោយ objects ទាំងអស់
មានតម្លៃតែមួយ: សម្រាប់ class ទាំងមូល
ឧទាហរណ៍៖
class School {
static String schoolName = "ABC School";
// objects ទាំងអស់ចែករំលែក schoolName ដូចគ្នា
}
📊 ប្រៀបធៀប៖
ប្រភេទ | ប្រកាស | Scope | Default Value |
---|---|---|---|
Local | ក្នុង method | method នោះ | គ្មាន (ត្រូវ initialize) |
Instance | ក្នុង class | ទូទាំង object | មាន (0, null, false...) |
Static | ក្នុង class (static) | ទូទាំង class | មាន (0, null, false...) |
ច្បាប់ដាក់ឈ្មោះអថេរ (Naming Rules)
⚠️ ច្បាប់ចាំបាច់ (Must Follow)
Java មានច្បាប់តឹងរ៉ឹងសម្រាប់ការដាក់ឈ្មោះអថេរ៖
- ត្រូវចាប់ផ្តើមដោយ: អក្សរ (a-z, A-Z), $ ឬ _ (underscore)
- មិនអាចចាប់ផ្តើមដោយ: លេខ (0-9)
- បន្ទាប់អាចមាន: អក្សរ, លេខ, $ ឬ _
- Case-sensitive: age ≠ Age ≠ AGE
- មិនមានដកឃ្លា: គ្មាន spaces
- មិនប្រើ reserved keywords: int, class, public...
✅ ឈ្មោះត្រឹមត្រូវ:
int age;
String firstName;
double _price;
int $value;
String name123;
❌ ឈ្មោះខុស:
int 123age; // ចាប់ផ្តើមដោយលេខ
String first-name; // មាន dash
int my age; // មានដកឃ្លា
int class; // reserved keyword
🎨 Naming Conventions (គំរូល្អ)
ទោះបីច្បាប់មិនតម្រូវក៏ដោយ programmers ប្រើគំរូទាំងនេះ៖
- camelCase សម្រាប់ variables: myVariable, studentAge, totalPrice
- PascalCase សម្រាប់ classes: MyClass, StudentInfo
- UPPER_CASE សម្រាប់ constants: MAX_VALUE, PI
- ឈ្មោះមានន័យ: ប្រើឈ្មោះពណ៌នាច្បាស់
👍 ឈ្មោះល្អ (Meaningful):
int studentAge = 20;
String userName = "sokdara";
double totalPrice = 150.50;
boolean isActive = true;
👎 ឈ្មោះមិនល្អ (Poor):
int a = 20; // a គឺអ្វី?
String s = "data"; // s មិនច្បាស់
double x123; // គ្មានន័យ
boolean b; // b ពិនិត្យអ្វី?
🔐 Constants (អថេរថេរ)
ប្រើ final
keyword និង UPPER_CASE:
final double PI = 3.14159;
final int MAX_STUDENTS = 100;
final String APP_NAME = "Khmer Academy";
ហេតុអ្វីត្រូវប្រើឈ្មោះល្អ?
- កូដងាយស្រួលអាន
- អ្នកដទៃយល់
- ងាយស្រួល maintain
- មិនច្រឡំ