Chương trình con là một phần riêng biệt của chương trình có tên và giải quyết nhiệm vụ riêng của nó. Chương trình con nằm ở đầu chương trình chính và có thể được khởi chạy (được gọi) từ chương trình chính bằng cách chỉ định tên
Việc sử dụng chương trình con cho phép bạn tránh trùng mã, trong trường hợp bạn cần viết cùng một mã ở những vị trí khác nhau trong chương trình.
Các thư viện được nhập vào chương trình (ví dụ: thư viện toán học Math) bao gồm các chương trình con đã được biên dịch sẵn bởi một người nào đó. Các lập trình viên không cần phải suy nghĩ về những thuật toán mà họ thực hiện, mà chỉ cần áp dụng chúng, chỉ nghĩ về chính xác những gì họ đang làm. Đây là một tiết kiệm thời gian lớn. Không cần phải viết một thuật toán đã được viết bởi người khác.
Mỗi quy trình
chỉ nên thực hiện một nhiệm vụ, hoặc chỉ tính toán điều gì đó hoặc xuất ra một số dữ liệu hoặc làm điều gì đó khác.
Có hai loại chương trình con -
thủ tụcvà
hàm
Các thủ tục con thực hiện một số hành động, ví dụ: hiển thị kết quả trên màn hình ở một dạng nhất định (ví dụ đơn giản, toán tử
println()
là một thủ tục con chuẩn in thông tin ra màn hình)
Các chương trình con hàm
trả về kết quả (số, chuỗi ký tự, v.v.) mà chúng ta có thể sử dụng trong chương trình chính.
Hãy thử viết một thủ tục đơn giản:
Giả sử chúng ta cần hiển thị chuỗi "Error" trên màn hình mỗi khi mã xảy ra lỗi có thể do lỗi của người dùng (ví dụ: khi anh ta nhập dữ liệu không chính xác)
Điều này có thể được thực hiện bằng cách viết tuyên bố
System.out.println("Lỗi");
Và bây giờ hãy tưởng tượng rằng một dòng như vậy cần được chèn vào nhiều chỗ trong chương trình. Tất nhiên, bạn chỉ có thể viết nó ở khắp mọi nơi. Nhưng giải pháp này có hai nhược điểm.
1) chuỗi này sẽ được lưu trong bộ nhớ nhiều lần
2) nếu chúng ta muốn thay đổi đầu ra do lỗi, chúng ta sẽ phải thay đổi dòng này trong suốt chương trình, điều này khá bất tiện
Đối với những trường hợp như vậy, các thủ tục là cần thiết.
Một chương trình với một thủ tục có thể trông như thế này:
...
static void printError() // mô tả thủ tục
{
System.out.println("Lỗi"); // thân thủ tục - các lệnh mà thủ tục sẽ thực hiện
}
public static void main(String[] args)
{
...
printError() // bắt đầu thủ tục thực thi. Chúng tôi chỉ chỉ định tên của thủ tục mà chúng tôi muốn thực hiện.
...
lỗi in()
...
}
Quy trình bắt đầu bằng từ void
. Có dấu ngoặc trống sau tên quy trình.
Tất cả các câu lệnh được thực thi trong một thủ tục đều được thụt vào.
Các thủ tục được viết trước hàm chính main()
Để thực hiện một thủ tục, trong chương trình chính, bạn cần gọi thủ tục đó bằng tên và nhớ viết dấu ngoặc đơn!
Bạn có thể gọi một thủ tục trong một chương trình nhiều lần.