Module: (Java) Chương trình con: thủ tục và hàm - 1


Problem

9 /11


Biến cục bộ và biến toàn cục

Theory Click to read/hide

Thường cần phải sử dụng các biến bổ sung sẽ chỉ được sử dụng trong chương trình con. Các biến như vậy được gọi là cục bộ (hoặc cục bộ) và chỉ có thể được thao tác trong chương trình con nơi chúng được tạo.
 

Phạm vi biến cục bộ là khối ngoặc nhọn trong đó nó được khai báo

Chương trình chính trong Java cũng là một chương trình con, vì vậy tất cả các biến được khai báo bên trong main() đều là biến cục bộ 
Các chương trình con khác không "biết" gì về các biến cục bộ của các chương trình con khác.

Như vậy, có thể giới hạn phạm vi (scope) của một biến chỉ cho chương trình con ở những nơi thực sự cần thiết. Trong lập trình, kỹ thuật này được gọi là đóng gói  - ẩn một biến khỏi bị thay đổi từ bên ngoài.

Nếu cần khai báo một biến có thể nhìn thấy ở bất kỳ đâu trong chương trình (trong bất kỳ chương trình con nào), thì các biến đó được khai báo bên ngoài tất cả các chương trình con (xem chương trình 3 trong bảng bên dưới)
Các biến như vậy được gọi là toàn cục.

Trong Java, khi chương trình bắt đầu, tất cả các biến toàn cục sẽ tự động được đặt thành 0 (các biến boolean trở thành false)


Phân tích ba chương trình: được hiển thị trên màn hình

Problem

Viết thủ tục với tham số n hiển thị cây thông Noel có vương miện cao n
Chương trình chính phải chứa đầu vào là giá trị của biến n và lệnh gọi thủ tục

Ví dụ
1) Trong chương trình này, biến i là cục bộ. Biến cục bộ được khai báo bên trong chương trình con 2) Ở đây, ngay cả khi có một biến i trong chương trình chính (với giá trị 7), một biến cục bộ mới i với giá trị 5 sẽ được tạo. 
Khi chạy chương trình này, màn hình sẽ hiển thị giá trị 75
3) Chương trình này có biến toàn cục i. Giá trị của nó có thể được thay đổi bên trong chương trình con và bên trong chương trình chính
Thủ tục sẽ làm việc với biến toàn cục i và nó sẽ được gán giá trị mới bằng 2. Giá trị 2
kiểm tra khoảng trống tĩnh () {   int tôi = 5; System.out.println(i); } kiểm tra khoảng trống tĩnh () {   int tôi = 5;   System.out.println(i); } public static void main(String[] args) { { int tôi = 7;   System.out.println(i);   Bài kiểm tra(); } lớp công khai Chính { int tôi; kiểm tra khoảng trống tĩnh () {   tôi = 2; } public static void main(String[] args) { { Bài kiểm tra(); System.out.println(i); }
<đầu>
# Đầu vào Đầu ra
1 5     o    ooo   ooooo  ooooooo ooooooooo