Local variables ประกาศใน เมธอด, บล็อกโค้ด, คอนสตรัคเตอร์ สร้างเมื่อเข้าสคอป ทำลายเมื่อออกจากสคอป Local variables ไม่มีค่าเริ่มต้น (no default value) ใน Java ต้อง ประกาศและกำหนดค่า ก่อนใช้งาน ไม่เช่นนั้น คอมไพเลอร์จะโยน Error
ตัวอย่างที่ผิด: ไม่ได้กำหนดค่า
public class LocalVariableTest {
public void print() {
int num;
System.out.println("The number is: " + num); // Compile Error!
}
public static void main(String args[]) {
new LocalVariableTest().print();
}
}
ข้อผิดพลาด
LocalVariableTest.java:4: error: variable num might not have been initialized
System.out.println("The number is: " + num);
^
1 error
ตัวอย่างที่ถูกต้อง: กำหนดค่าก่อนใช้
public class LocalVariableTest {
public void print() {
int num = 100; // initialize ก่อนใช้
System.out.println("The number is: " + num);
}
public static void main(String args[]) {
new LocalVariableTest().print();
}
}
ผลลัพธ์
The number is: 100
เปรียบเทียบ:
- Instance/Static variables มีค่าเริ่มต้นอัตโนมัติ (0, false, null)
- Local variables ไม่มี ค่าเริ่มต้น ต้องกำหนดเอง