English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 예제를 통해 Java 명령행 인수를 배웁니다.
Java에서명령행 인수프로그램 실행 중 인수를 전달할 수 있게 합니다.
그 이름에서 알 수 있듯이, 인수는 명령행을 통해 전달됩니다.
class Main { public static void main(String[] args) { System.out.println("명령행 인수는"); //모든 인수를 순회하다 for(String str: args) { System.out.println(str); } } }
이 프로그램을 명령행을 통해 실행해 보겠습니다.
1. 코드 컴파일
javac Main.java
2. 코드 실행
java Main
지금 우리가 프로그램을 실행할 때 인수를 전달하려면, 클래스 이름 뒤에 인수를 전달할 수 있습니다. 예를 들어,
java Main apple ball cat
여기서 apple, ball, cat는 프로그램에 명령행을 통해 전달된 인수입니다. 지금, 다음과 같은 출력을 얻을 것입니다.
명령행 인수는 Apple Ball Cat
위 프로그램에서 main() 메서드는 인수로 이름이 args인 문자열 배열을 포함하고 있습니다.
public static void main(String[] args) {...}
String 배열로 명령행을 통해 전달된 모든 인수를 저장합니다.
주의:인수는 항상 문자열로 저장되며 항상공백구분자.
Java 프로그램의 main() 메서드는 문자열 인수만 받아들이며, 따라서 명령행을 통해 숫자 인수를 전달할 수 없습니다.
하지만, 나중에는 문자열 인수를 숫자로 변환할 수 있습니다.
class Main { public static void main(String[] args) { for(String str: args) { //정수 타입으로 변환 int argument = Integer.parseInt(str); System.out.println("정수 인수: " + argument); } } }
명령줄을 통해 프로그램을 실행해 보겠습니다.
//코드 컴파일 javac Main.java //코드 실행 java Main 11 23
여기11과23은 명령줄 인수입니다. 지금, 다음과 같은 출력을 얻을 것입니다.
integer 형태의 인수 11 23
위의 예제에서 다음과 같은 줄을 주의하세요
int argument = Integer.parseInt(str);
여기서 Integer 클래스의 parseInt() 메서드가 문자열 인수를 정수로 변환합니다。
또한, parseDouble()와 parseFloat() 메서드를 사용하여 문자열을 각각 double과 float로 변환할 수 있습니다。
주의:인수를 지정된 숫자로 변환할 수 없으면 NumberFormatException 예외가 발생합니다。