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ố hoạt động 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 có một phương thức lấy một tham số String
được gọi là fname . Khi phương thức được gọi, chúng ta truyền một tên đầu tiên, tên này được sử dụng bên trong phương thức để in ra tên đầy đủ:
Thí 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 cho 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à đối số .
Nhiều tham số
Bạn có thể có bao nhiêu tham số tùy thích:
Thí 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ời gọi phương thức phải có cùng số đối số vì có tham số và các đối số phải được truyền theo cùng một thứ tự.
Giá trị trả lại
Các void
từ khóa, sử dụng trong các ví dụ trên, chỉ ra rằng phương pháp này không nên trả về một giá trị. Nếu bạn muốn phương pháp này để trả về một giá trị, bạn có thể sử dụng một kiểu dữ liệu cơ bản (ví dụ như int
, char
, vv) thay vì void
, và sử dụng các return
từ khóa bên trong phương pháp:
Thí 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 :
Thí 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à dễ bảo trì hơn):
Thí 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 pháp với If … Else
Người ta thường sử dụng các if...else
câu lệnh bên trong các phương thức:
Thí 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!"