Friday, November 10, 2006
Java/자바] main()의 String args[] 배열 용도, 사용법 예제
public static void main(String args[]) {...
에서
메인(main) 메소드(함수)의, 기본으로 항상 있는 args[] 라는 "문자열 배열"은
자바 프로그램 실행시에 주어진 "옵션"들이 자동으로 담겨지는 곳입니다. Arguments 즉, "인수" = "매개 변수" = "파라미터" 라는 뜻입니다.
도스창(윈도우에서의 정식명칭은, 명령 프롬프트;cmd.exe)에서
dir *.txt
라고 하면 모든 txt 확장자를 가진 파일들의 목록이 출력됩니다. "dir"은 명령어이고 "*.txt"는 옵션입니다. 자바 프로그램에서는 "*.txt" 이런 옵션이 String args[] 라는 문자열 배열에 자동으로 들어갑니다.
"java Foo" 이런 명령으로, Foo.class 라는 자바프로그램을 실행할 때
java Foo ABC IBM GOOGLE Yahoo! Hmmmm... 1234
이렇게 뒤쪽에 문자열을 붙여서 실행했다면
ABC
IBM
GOOGLE
Yahoo!
Hmmmm...
1234
이런 6개의 옵션들이 args[] 라는 배열에 자동으로 들어가고, 프로그래머는 이 배열에서 값을 꺼내서 사용하면 됩니다.
가령 --help 또는 -help 라는 옵션이 발견된다면, 사용자가 도움말을 필요로 한다는 뜻이므로 도움말을 출력하면 되겠지요.
String args[]
이렇게 해도 되고
String[] args
이렇게 대괄호를 앞쪽에 붙여도 똑같습니다.
다음 예제는 args[] 배열의 요소 개수와 내용을 출력하는 간단한 예제입니다.
소스 파일명: Foo.java
위의 예제 컴파일 및 실행 결과:
좀더 실용적인 예제는 여기 있습니다: ▶▶ 자바,Java] 유니코드(UTF-8)변환, KS완성형 파일을 유니코드로 바꾸기
이것은 옵션으로 지정해준 한글완성형 파일을 유니코드로 변환하여 새 파일로 저장합니다.
에서
메인(main) 메소드(함수)의, 기본으로 항상 있는 args[] 라는 "문자열 배열"은
자바 프로그램 실행시에 주어진 "옵션"들이 자동으로 담겨지는 곳입니다. Arguments 즉, "인수" = "매개 변수" = "파라미터" 라는 뜻입니다.
실행시 옵션이란?
도스창(윈도우에서의 정식명칭은, 명령 프롬프트;cmd.exe)에서
dir *.txt
라고 하면 모든 txt 확장자를 가진 파일들의 목록이 출력됩니다. "dir"은 명령어이고 "*.txt"는 옵션입니다. 자바 프로그램에서는 "*.txt" 이런 옵션이 String args[] 라는 문자열 배열에 자동으로 들어갑니다.
"java Foo" 이런 명령으로, Foo.class 라는 자바프로그램을 실행할 때
java Foo ABC IBM GOOGLE Yahoo! Hmmmm... 1234
이렇게 뒤쪽에 문자열을 붙여서 실행했다면
ABC
IBM
Yahoo!
Hmmmm...
1234
이런 6개의 옵션들이 args[] 라는 배열에 자동으로 들어가고, 프로그래머는 이 배열에서 값을 꺼내서 사용하면 됩니다.
가령 --help 또는 -help 라는 옵션이 발견된다면, 사용자가 도움말을 필요로 한다는 뜻이므로 도움말을 출력하면 되겠지요.
String args[]
이렇게 해도 되고
String[] args
이렇게 대괄호를 앞쪽에 붙여도 똑같습니다.
다음 예제는 args[] 배열의 요소 개수와 내용을 출력하는 간단한 예제입니다.
자바 메인 함수 String args[] 사용 예제
소스 파일명: Foo.java
class Foo {
public static void main(String args[]) {
// 옵션 개수 검사. 옵션 없으면 에러 메시지 출력하고 종료
if (args.length == 0) {
System.err.println("옵션을 입력하세요");
System.exit(1);
}
// 옵션 개수 출력
System.out.println("모두 " + args.length + "개의 옵션을 입력하셨군요.");
System.out.println(); // 줄바꿈
// 모든 옵션 하나씩 화면에 출력
for (int i = 0; i < args.length; i++)
System.out.format("args[%d] : %s%n", i, args[i]);
}
}
public static void main(String args[]) {
// 옵션 개수 검사. 옵션 없으면 에러 메시지 출력하고 종료
if (args.length == 0) {
System.err.println("옵션을 입력하세요");
System.exit(1);
}
// 옵션 개수 출력
System.out.println("모두 " + args.length + "개의 옵션을 입력하셨군요.");
System.out.println(); // 줄바꿈
// 모든 옵션 하나씩 화면에 출력
for (int i = 0; i < args.length; i++)
System.out.format("args[%d] : %s%n", i, args[i]);
}
}
위의 예제 컴파일 및 실행 결과:
D:\Z>javac Foo.java
D:\Z>java Foo
옵션을 입력하세요
D:\Z>java Foo 111 222 333 444
모두 4개의 옵션을 입력하셨군요.
args[0] : 111
args[1] : 222
args[2] : 333
args[3] : 444
D:\Z>java Foo 자장면 탕수육 짬뽕 우동 물만두
모두 5개의 옵션을 입력하셨군요.
args[0] : 자장면
args[1] : 탕수육
args[2] : 짬뽕
args[3] : 우동
args[4] : 물만두
D:\Z>
D:\Z>java Foo
옵션을 입력하세요
D:\Z>java Foo 111 222 333 444
모두 4개의 옵션을 입력하셨군요.
args[0] : 111
args[1] : 222
args[2] : 333
args[3] : 444
D:\Z>java Foo 자장면 탕수육 짬뽕 우동 물만두
모두 5개의 옵션을 입력하셨군요.
args[0] : 자장면
args[1] : 탕수육
args[2] : 짬뽕
args[3] : 우동
args[4] : 물만두
D:\Z>
좀더 실용적인 예제는 여기 있습니다: ▶▶ 자바,Java] 유니코드(UTF-8)변환, KS완성형 파일을 유니코드로 바꾸기
이것은 옵션으로 지정해준 한글완성형 파일을 유니코드로 변환하여 새 파일로 저장합니다.
tag: java
자바 | Java 프로그래밍
<< Home