Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các đối số dòng lệnh của Java với sự trợ giúp của các ví dụ.
Các đối số dòng lệnh trong Java cho phép chúng ta truyền các đối số trong quá trình thực thi chương trình.
Như tên cho thấy các đối số được chuyển qua dòng lệnh.
Ví dụ: Đối số dòng lệnh
class Main {
public static void main(String[] args) {
System.out.println("Command-Line arguments are");
// loop through all arguments
for(String str: args) {
System.out.println(str);
}
}
}
Hãy thử chạy chương trình này bằng dòng lệnh.
1. Để biên dịch mã
javac Main.java
2. Để chạy mã
java Main
Bây giờ, giả sử chúng ta muốn truyền một số đối số trong khi chạy chương trình, chúng ta có thể truyền các đối số sau tên lớp. Ví dụ,
java Main apple ball cat
Ở đây apple , ball và cat là các đối số được truyền cho chương trình thông qua dòng lệnh. Bây giờ, chúng ta sẽ nhận được kết quả sau.
Command-Line arguments are Apple Ball Cat
Trong chương trình trên, main()
phương thức bao gồm một mảng các chuỗi có tên là args làm tham số của nó.
public static void main(String[] args) {...}
Các String
cửa hàng mảng tất cả các đối số được truyền thông qua dòng lệnh.
Lưu ý : Các đối số luôn được lưu trữ dưới dạng chuỗi và luôn được phân tách bằng khoảng trắng .
Truyền đối số dòng lệnh số
Các main()
phương pháp của tất cả các chương trình Java chỉ chấp nhận đối số chuỗi. Do đó, không thể truyền các đối số số thông qua dòng lệnh.
Tuy nhiên, sau này chúng ta có thể chuyển đổi đối số chuỗi thành giá trị số.
Ví dụ: Đối số dòng lệnh số
class Main {
public static void main(String[] args) {
for(String str: args) {
// convert into integer type
int argument = Integer.parseInt(str);
System.out.println("Argument in integer form: " + argument);
}
}
}
Hãy thử chạy chương trình thông qua dòng lệnh.
// compile the code
javac Main.java
// run the code
java Main 11 23
Ở đây 11 và 23 là các đối số dòng lệnh. Bây giờ, chúng ta sẽ nhận được kết quả sau.
Arguments in integer form 11 23
Trong ví dụ trên, hãy để ý dòng
int argument = Intege.parseInt(str);
Ở đây, parseInt()
phương thức của Integer
lớp chuyển đổi đối số chuỗi thành một số nguyên.
Tương tự, chúng ta có thể sử dụng phương thức parseDouble()
và parseFloat()
để chuyển đổi chuỗi thành double
và float
tương ứng.
Lưu ý : Nếu các đối số không thể được chuyển đổi thành giá trị số được chỉ định thì một ngoại lệ có tên sẽ NumberFormatException
xảy ra.