Tham số phương thức Java
Tham số và đối số
Thông tin có thể được truyền cho các phương thức dưới dạng tham số. Các tham số đóng vai trò như các biến bên trong phương thức.
Các tham số được chỉ định sau tên phương thức, bên trong dấu ngoặc đơn. Bạn có thể thêm bao nhiêu tham số tùy thích, chỉ cần phân tách chúng bằng dấu phẩy.
Ví dụ sau đây có một phương thức lấy String
có tên fname làm tham số. Khi phương thức được gọi, chúng ta chuyển theo tên, được sử dụng bên trong phương thức để in tên đầy đủ:
Ví dụ
public class Main { static void myMethod(String fname) { System.out.println(fname + " Refsnes"); } public static void main(String[] args) { myMethod("Liam"); myMethod("Jenny"); myMethod("Anja"); } } // Liam Refsnes // Jenny Refsnes // Anja Refsnes
Khi một tham số được truyền vào phương thức, nó được gọi là một đối số . Vì vậy, từ ví dụ trên: fname
là một tham số , trong khi Liam
, Jenny
và Anja
là các đối số .
Nhiều thông số
Bạn có thể có bao nhiêu tham số tùy thích:
Ví dụ
public class Main { static void myMethod(String fname, int age) { System.out.println(fname + " is " + age); } public static void main(String[] args) { myMethod("Liam", 5); myMethod("Jenny", 8); myMethod("Anja", 31); } } // Liam is 5 // Jenny is 8 // Anja is 31
Lưu ý rằng khi bạn đang làm việc với nhiều tham số, lệnh gọi phương thức phải có cùng số lượng đối số như số lượng tham số và các đối số phải được truyền theo cùng một thứ tự.
Giá trị trả về
Từ khóa void
, được sử dụng trong các ví dụ trên, chỉ ra rằng phương thức này không được trả về một giá trị. Nếu bạn muốn phương thức trả về một giá trị, bạn có thể sử dụng kiểu dữ liệu nguyên thủy (chẳng hạn như int
, char
, v.v.) thay vì void
và sử dụng từ khóa return
bên trong phương thức:
Ví dụ
public class Main { static int myMethod(int x) { return 5 + x; } public static void main(String[] args) { System.out.println(myMethod(3)); } } // Outputs 8 (5 + 3)
Ví dụ này trả về tổng của hai tham số của một phương thức:
Ví dụ
public class Main { static int myMethod(int x, int y) { return x + y; } public static void main(String[] args) { System.out.println(myMethod(5, 3)); } } // Outputs 8 (5 + 3)
Bạn cũng có thể lưu trữ kết quả trong một biến (được khuyến nghị, vì nó dễ đọc và bảo trì hơn):
Ví dụ
public class Main { static int myMethod(int x, int y) { return x + y; } public static void main(String[] args) { int z = myMethod(5, 3); System.out.println(z); } } // Outputs 8 (5 + 3)
Một phương thức với If...Else
Người ta thường sử dụng câu lệnh if...else
bên trong các phương thức:
Ví dụ
public class Main { // Create a checkAge() method with an integer variable called age static void checkAge(int age) { // If age is less than 18, print "access denied" if (age < 18) { System.out.println("Access denied - You are not old enough!"); // If age is greater than, or equal to, 18, print "access granted" } else { System.out.println("Access granted - You are old enough!"); } } public static void main(String[] args) { checkAge(20); // Call the checkAge method and pass along an age of 20 } } // Outputs "Access granted - You are old enough!"