1. Hàm/phương thức trong Java

Bạn đã học được nhiều lệnh Java, nghĩa là bạn có thể viết một số chương trình khá phức tạp. 10, 20, 30 dòng mã trong một chương trình không phải là một chương trình quá lớn, phải không?

Nhưng một chương trình có hơn 100 chương trình, giờ đã lớn và có thể hơi khó hiểu mã. Bạn có thể làm gì để đơn giản hóa việc viết và đọc các chương trình có nhiều mã không?

Có, và các phương thức (hoặc hàm) sẽ giúp chúng ta điều này.

một phương pháp là gì? Nói một cách rất đơn giản, một phương thức là một nhóm các lệnh có một tên duy nhất . Nói cách khác, chúng tôi chỉ cần đặt một số lệnh vào một nhóm và đặt cho nó một tên duy nhất. Và thế là xong - phương pháp đã sẵn sàng.

Ví dụ:

Không có phương pháp Với một phương pháp
class Solution
{
   public static void main(String[] args)
   {
     System.out.print("Wi-");
     System.out.println("Fi");
     System.out.print("Wi-");
     System.out.println("Fi");

     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void main(String[] args)
   {
     printWiFi();
     printWiFi();
     printWiFi();
   }
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}

Trong chương trình ở cột bên trái, chúng tôi lặp lại cùng một đoạn mã ba lần — chúng tôi cố tình làm điều này để minh họa một điểm. Nhưng trong chương trình bên phải, chúng tôi đã chuyển đoạn mã lặp lại thành một phương thức riêng biệt và đặt cho nó một tên duy nhất — printWiFi.

Và thay vì mã được di chuyển, chúng tôi gọi printWiFi()phương thức 3 lần.

Khi chương trình ở cột bên phải được chạy, mỗi khi phương printWiFi()thức được thực thi, tất cả các lệnh bên trong printWiFi()phương thức đều được thực thi. Chúng tôi vừa tạo một lệnh (phương thức) mới, kết hợp một số lệnh thành một nhóm duy nhất.

Bất kỳ mã nào cũng có thể được chia thành các phương thức riêng biệt. Điều này được thực hiện để đơn giản hóa mọi thứ: ý tưởng là có nhiều phương thức nhỏ sẽ tốt hơn là một phương thức lớn. Bạn sẽ sớm ngạc nhiên rằng đã có lúc bạn viết các chương trình của riêng mình mà không viết các phương thức của riêng bạn.


2. Khai báo phương thức trong Java

Vì vậy, làm thế nào để bạn viết phương pháp của bạn một cách chính xác?

public static void name()
{
  method body
}

Có rất nhiều sắc thái cần xem xét khi khai báo (tạo) một phương thức, nhưng chúng ta sẽ bắt đầu với những điều cơ bản. Làm thế nào chúng ta có thể khai báo phương thức đơn giản nhất? Một khai báo phương thức đơn giản trông như thế này:

Đâu name là tên duy nhất của phương thức và method bodyđại diện cho các lệnh tạo nên phương thức. Ý nghĩa của các từ public, static, và voidsẽ được thảo luận sau.

Sau khi chúng tôi đã tạo một phương thức, chúng tôi có thể gọi nó trong các phương thức khác của chúng tôi. Một cuộc gọi phương thức trông như thế này:

name();

Đâu namelà tên duy nhất của phương thức mà chúng ta muốn gọi, tức là phương thức có các lệnh mà chúng ta muốn thực hiện khi chúng ta đến lời gọi phương thức.

Khi chương trình đến lệnh gọi phương thức, nó sẽ chỉ bước vào phương thức, thực hiện tất cả các lệnh của nó, quay lại phương thức ban đầu và tiếp tục thực hiện.

Như bạn có thể đoán bây giờ, hầu hết các lệnh chúng ta đã học cho đến nay chỉ là các phương thức được viết bởi các lập trình viên khác để làm cho cuộc sống của chúng ta dễ dàng hơn: , , v.v.System.out.println()Thread.sleep()

Một phương thức có thể chứa các cuộc gọi đến các phương thức khác:

Mã số Ghi chú
class Solution
{
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}




Gọi printWiFi10Times()phương thức


Khai báo printWiFi10Timesphương thức


Gọi printWiFi() phương thức 10 lần trong một vòng lặp


Khai báo printWiFiphương thức

Hiển thị văn bản trên màn hình:
Wi-Fi

3. Sự thật về phương pháp

Dưới đây là một số sự thật về phương pháp:

Sự thật 1. Một phương thức luôn là một phần của một lớp.

Một phương thức chỉ có thể được khai báo trong một lớp. Một phương thức không thể được khai báo bên trong một phương thức khác. Một phương thức không thể được khai báo bên ngoài một lớp.

Sự thật 2. Tên của một phương thức không có ý nghĩa thiêng liêng.

Phương pháp nào được gọi không quan trọng - điều đó không ảnh hưởng gì cả. Phương thức chính là một phương thức giống như tất cả các phương thức khác. Chỉ là tên này đã được chọn cho phương thức mà từ đó máy Java sẽ bắt đầu thực thi chương trình. Không có gì kỳ diệu về nó.

Sự thật 3. Thứ tự của các phương thức trong một lớp không quan trọng.

Bạn có thể viết các phương thức của mình trong một lớp theo bất kỳ thứ tự nào — điều này sẽ không ảnh hưởng đến việc thực thi chương trình theo bất kỳ cách nào. Ví dụ:

Mã số
class Solution
{
   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   public static void main(String[] args)
   {
     printWiFi10Times();
   }
}

Sự thật 4. Các biến bên trong một phương thức không liên quan theo bất kỳ cách nào với các biến của các phương thức khác.

Chuyện gì xảy ra ở Vegas, hãy ở lại Vegas. Và các biến được khai báo bên trong một phương thức sẽ ở bên trong phương thức đó.

Các biến có cùng tên có thể được khai báo theo hai phương thức liền kề và các biến này không liên quan đến nhau theo bất kỳ cách nào.


4. Tên phương thức

Từ lâu, người ta đã biết rằng hai vấn đề khó khăn nhất trong lập trình là chọn đúng tên cho các phương thức và chọn đúng tên cho các biến.

Trên thực tế, gần như toàn bộ khoa học đã xuất hiện liên quan đến cách đặt tên chính xác cho các phương thức. Và mỗi ngôn ngữ lập trình đều có những tiêu chuẩn riêng. Trong Java, thông thường tuân theo các nguyên tắc sau:

Nguyên tắc 1. Tên phương thức nên mô tả ngắn gọn nhiệm vụ của phương thức đó.

Sau đó, một lập trình viên khác đọc mã của bạn có thể dựa vào tên của phương thức để đoán xem mã đó làm gì. Anh ấy hoặc cô ấy sẽ không cần phải xem mã của các phương thức được gọi mỗi lần. Và mục đích của các phương pháp dễ nhớ hơn.

Nhớ lại được sử dụng để 'đặt chương trình vào chế độ ngủ' và được sử dụng để 'đọc số nguyên tiếp theo'. Thuận tiện, phải không?Thread.sleep()Scanner.nextInt()

Nguyên tắc 2. Tên phương thức có thể là nhiều từ.

Tuy nhiên, có một số hạn chế khi làm điều này:

  • Bạn không thể có khoảng trắng trong tên phương thức: tất cả các từ được viết cùng nhau.
  • Mỗi từ được viết hoa, ngoại trừ từ đầu tiên.
  • Tên phương thức luôn bắt đầu bằng một chữ thường

Nhắc lại printWiFi10Timesphương pháp. Cái tên đó có ý nghĩa gì? "Hiển thị từ 'WiFi' 10 lần". Bạn không nên bao gồm nhiều từ trong tên của một phương thức: tên phải phản ánh bản chất của nó.

Tiêu chuẩn cho các phương thức đặt tên này được gọi là CamelCase (Các chữ hoa giống như bướu của con lạc đà).

Nguyên tắc 3. Tên phương thức bắt đầu bằng một động từ.

Một phương thức luôn làm một việc gì đó, vì vậy từ đầu tiên trong tên phương thức luôn là một hành động.

Dưới đây là một số tên xấu cho các phương thức: home, cat, car, train...;

Một số tên hay là: run, execute, print, read, write, ...

Nguyên tắc 4. Chỉ sử dụng các chữ cái và số Latinh.

Java có hỗ trợ tuyệt vời cho các ngôn ngữ khác nhau. Bạn có thể viết tên biến, phương thức và lớp bằng tiếng Nga cũng như tiếng Trung — mọi thứ sẽ hoạt động!

Nhưng! Bạn sẽ phải học Java trong bao lâu nếu System.out.println()phương pháp này được viết bằng tiếng Trung Quốc? Lâu hơn nhiều so với bây giờ, phải không? Đó là điểm đầu tiên.

Thứ hai, nhiều nhóm phát triển phần mềm là quốc tế. Một số lượng rất lớn các thư viện Java được sử dụng bởi các lập trình viên từ khắp nơi trên thế giới.

Do đó, chỉ nên sử dụng các chữ cái và số Latinh trong tên phương thức.

Quan trọng:
Tên của một phương thức phải bắt đầu bằng một chữ cái (không thể bắt đầu bằng một số).