Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Giá trị mặc định của biến cục bộ (local variable) trong Java

Không có giá trị mặc định!

Khác với field (instance/static variable), biến cục bộ không được gán giá trị mặc định. Compiler bắt buộc phải khởi tạo (assign) trước khi sử dụng, nếu không sẽ báo lỗi compile-time: variable might not have been initialized.

Ví dụ lỗi compile


public class LocalVarNoInit {
    public void print() {
        int num; // chưa gán giá trị
        System.out.println("Số: " + num); // LỖI COMPILE
    }
    public static void main(String[] args) {
        new LocalVarNoInit().print();
    }
}

Lỗi: variable num might not have been initialized

Ví dụ đúng: khởi tạo trước khi dùng


public class LocalVarInit {
    public void print() {
        int num = 100; // khởi tạo
        System.out.println("Số: " + num);
    }
    public static void main(String[] args) {
        new LocalVarInit().print();
    }
}

Kết quả: Số: 100

Tóm tắt default value theo kiểu

KiểuField (instance/static)Local variable
byte, short, int, long0Không có (bắt buộc init)
float, double0.0Không có
char'\\u0000'Không có
booleanfalseKhông có
Reference (object)nullKhông có

Best practice: Luôn khởi tạo local variable ngay tại khai báo: int x = 0;.