Đầu ra của chương trình sau là bao nhiêu?
class variable_scope
{
public static void main(String args[])
{
int x;
x = 5;
{
int y = 6;
System.out.print(x + " " + y);
}
System.out.println(x + " " + y);
}
}
Chọn một:
Trả lời:
Đáp án đúng: D
Đoạn code Java này kiểm tra kiến thức về phạm vi biến (variable scope). Biến `x` được khai báo ở đầu hàm `main` và có phạm vi trong toàn bộ hàm. Biến `y` được khai báo bên trong một khối lệnh con (inner block), và chỉ có phạm vi trong khối lệnh đó. Do đó, dòng `System.out.println(x + " " + y);` bên ngoài khối lệnh con sẽ gây ra lỗi biên dịch (compilation error) vì biến `y` không tồn tại trong phạm vi đó.