mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
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[] 배열의 요소 개수와 내용을 출력하는 간단한 예제입니다.

자바 메인 함수 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]);

  }
}


위의 예제 컴파일 및 실행 결과:
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>



좀더 실용적인 예제는 여기 있습니다: ▶▶ 자바,Java] 유니코드(UTF-8)변환, KS완성형 파일을 유니코드로 바꾸기
이것은 옵션으로 지정해준 한글완성형 파일을 유니코드로 변환하여 새 파일로 저장합니다.




tag: java
자바 | Java 프로그래밍

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top