© Khmer Angkor Academy - sophearithput168

អថេរ (Variables)

អថេរ (Variables) ក្នុង Java

🤔 អថេរគឺជាអ្វី?

អថេរ (Variable) គឺដូចជា "ប្រអប់" ឬ "ធុង" ដែលយើងប្រើដើម្បីរក្សាទុកទិន្នន័យក្នុងកម្មវិធី។ វាមានឈ្មោះ និងអាចផ្ទុកតម្លៃបាន។

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

  • ប្រអប់ឈ្មោះ "អាយុ" អាចផ្ទុកលេខ 25
  • ប្រអប់ឈ្មោះ "ឈ្មោះ" អាចផ្ទុក "សុខ ដារ៉ា"
  • ប្រអប់ឈ្មោះ "តម្លៃ" អាចផ្ទុក 99.99

📦 ហេតុអ្វីត្រូវការអថេរ?

កម្មវិធីទាំងអស់ត្រូវការរក្សាទុក និងប្រើប្រាស់ទិន្នន័យ៖

  1. រក្សាទុកព័ត៌មានអ្នកប្រើប្រាស់ - ឈ្មោះ, អាយុ, អាសយដ្ឋាន
  2. ធ្វើប្រមាណវិធី - គណនា, ប្រៀបធៀប
  3. រក្សាលទ្ធផល - ផលបូក, ផលគុណ
  4. ត្រួតពិនិត្យលក្ខខណ្ឌ - ពិនិត្យតម្លៃ

✍️ របៀបប្រកាសអថេរ

ក្នុង Java យើងត្រូវប្រាប់កម្មវិធីពី៖

  1. ប្រភេទទិន្នន័យ (Data Type) - អថេរផ្ទុកអ្វី? លេខ? អក្សរ?
  2. ឈ្មោះអថេរ (Variable Name) - យើងហៅវាថាអ្វី?
  3. តម្លៃ (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 Code
Click "Run" to execute the Java code

ប្រភេទអថេរក្នុង 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...)
Java Code
Click "Run" to execute the Java code

ច្បាប់ដាក់ឈ្មោះអថេរ (Naming Rules)

⚠️ ច្បាប់ចាំបាច់ (Must Follow)

Java មានច្បាប់តឹងរ៉ឹងសម្រាប់ការដាក់ឈ្មោះអថេរ៖

  1. ត្រូវចាប់ផ្តើមដោយ: អក្សរ (a-z, A-Z), $ ឬ _ (underscore)
  2. មិនអាចចាប់ផ្តើមដោយ: លេខ (0-9)
  3. បន្ទាប់អាចមាន: អក្សរ, លេខ, $ ឬ _
  4. Case-sensitive: age ≠ Age ≠ AGE
  5. មិនមានដកឃ្លា: គ្មាន spaces
  6. មិនប្រើ 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 ប្រើគំរូទាំងនេះ៖

  1. camelCase សម្រាប់ variables: myVariable, studentAge, totalPrice
  2. PascalCase សម្រាប់ classes: MyClass, StudentInfo
  3. UPPER_CASE សម្រាប់ constants: MAX_VALUE, PI
  4. ឈ្មោះមានន័យ: ប្រើឈ្មោះពណ៌នាច្បាស់

👍 ឈ្មោះល្អ (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
  • មិនច្រឡំ
Java Code
Click "Run" to execute the Java code