Chào các bạn đã đến với chủ đề tiếp theo của mình. Hôm nay, mình sẽ tiếp tục giới thiệu về cách truyền tham số vào phương thức trong Java. Ở bài này, mình sẽ đi qua những nội dung như sau:
1. Tham số của phương thức
Tùy theo mục đích sử dụng mà trong 1 phương thức, chúng ta có thể truyền tham số hay không. Chúng ta hãy xem xét ví dụ sau:
class Main {
// method definition
void findSquare() {
int number = 12;
int result = number * number;
System.out.println("Square of " + number + " is " + result);
}
public static void main(String[] args) {
// creating object of Main class
Main obj = new Main();
// method call
obj.findSquare();
}
}
Trong ví dụ trên, ở phương thức findSquare(), các bạn có thể thấy rằng, phương thức này chỉ được dùng để tìm bình phương của một số 12 cố định và in ra kết quả của nó. Giả sử chúng ta muốn tìm bình phương của 1 số nào khác, chẳng lẽ chúng ta phải viết thêm 1 phương thức nữa. Điều này có vẻ hơi cứng nhắc, không sử dụng linh hoạt được đúng không?
Thay vào đó, chúng ta hãy sửa phương thức này lại 1 chút, bằng cách truyền tham số vào nó. Trong lập trình, chúng ta có thể truyền tham số vào phương thức và có thể get giá trị đầu ra của phương thức đó:
- đối số hoặc tham số là đầu vào của phương thức. Kiểu dữ liệu của tham số có thể là kiểu int, double, boolean …..
- giá trị trả về là đầu ra của phương thức. Tùy theo mục đích sử dụng, mà sẽ trả về kiểu dữ liệu tương ứng.
Ví dụ:
class Main {
// method definition
void findSquare(int number) {
int result = number * number;
System.out.println("Square of " + number + " is " + result);
}
public static void main(String[] args) {
// creating object of Main class
Main obj = new Main();
// method call
obj.findSquare(12);
}
}
Đầu ra:
Square of 12 is 144
Trong chương trình này, để ý rằng ta đã thêm các tham số bên trong dấu ngoặc đơn ()
.
Cách chương trình hoạt động:
Khi phương thức findSquare()
được gọi, luồng điều khiển của chương trình chuyển sang phương thức .
Tuy nhiên, lần này, ta truyền 12 làm tham số cho phương thức. Giá trị này được gán cho biến number
bên trong phương thức.
Do đó, result = number * number;
trở thành 144 ( 12 * 12)
.
Bây giờ, tùy vào giá trị được truyền vào phương thức mà ta nhận được các kết quả đầu ra khác nhau. Ví dụ:
class Main {
// method definition
void findSquare(int number) {
int result = number * number;
System.out.println("Square of " + number + " is " + result);
}
public static void main(String[] args) {
// creating object of Main class
Main obj = new Main();
// method call
obj.findSquare(12);
obj.findSquare(8);
obj.findSquare(21);
}
}
Đầu ra:
Square of 12 is 144
Square of 8 is 64
Square of 21 is 441
Trong đó:
- Trong lần gọi phương thức đầu tiên,
obj.findSquare(12)
, biếnnumber
bên trong phương thức có giá trị 12. Do đó, đầu ra là 144 (12 * 12). - Trong lần gọi thứ hai,
obj.findSquare(8)
,number
trở thành 8. Do đó, đầu ra là 64 (8 * 8). - Trong lần gọi thứ ba,
obj.findSquare(21)
,number
trở thành 21. Do đó, đầu ra là 441 (21 * 21).
2. Truyền nhiều tham số
Chúng ta có thể truyền nhiều hơn một tham số cho phương thức bằng cách phân tách các tham số bằng dấu phẩy. Ví dụ:
class Main {
// method definition
void addNumbers(int n1, int n2) {
int result = n1 + n2;
System.out.println("Sum is " + result);
}
public static void main(String[] args) {
// creating object of Main class
Main obj = new Main();
// method call
obj.addNumbers(9, 32);
}
}
Đầu ra:
Sum is 41
Phương thức trên lấy hai tham số. Để truyền nhiều giá trị cho phương thức, ta phân tách chúng bằng dấu phẩy.
Bên trong phương thức:
n1
lấy giá trị 9n2
lấy giá trị 32
Do đó, giá trị của biến result
bên trong phương thức sẽ là 41.
Như bạn có thể đoán ra, ta có thể sử dụng phương thức addNumbers()
để tìm tổng của hai số bất kỳ. Chúng ta chỉ cần gọi phương thức với hai tham số.
3. Kết
Như vậy chúng ta đã tìm hiểu xong cách truyền tham số vào phương thức trong Java. Cảm ơn các bạn đã theo dõi bài viết của mình. Chúc các bạn thành công. Hẹn gặp lại các bạn ở những chủ đề tiếp theo.
Nguồn:
https://tek4.vn/khoa-hoc/lap-trinh-huong-doi-tuong-voi-java/doi-so-phuong-thuc