성장일기

1. 커맨드 라인을 통해 입력

Scanner클래스의 nextLint()외에도 화면을 통해 사용자로부터 값을 입력받을 수 있는 방법이 있다. 바로 커맨드라인을 이용한 방법이다.

 프로그램을 실행할 때 클래스 이름 뒤에 공백문자로 구분하여 여러 개의 문자열을 프로그램에 입력값으로 전달할 수 있다.

 

 

2. 사용 방법

만일 실행할 프로그램의 main메소드가 담긴 클래스의 이름이 TestFree라고 가정하면 다음과 같이 실행할 수 있다.

 

터미널 창:

C:\Users...[TestFree.java의 경로]>java TestFree.java 123 qwe

 

커맨드 라인을 통해 입력된 두 문자열은 String배열에 담겨서 TestFree클래스의 main메소드의 매게변수(String[] args)에 전달된다. 그리고 메인메소드 내에서는 전달받은 String배열을 사용할 수 있다.

args[0] = "123"

args[1] = "qwe"

 

 

3. 예제 코드

public class TestFree {

    public static void main(String[] args) {

        if (args != null) {
            for (String str : args) {
                System.out.println(str);
            }
        }
        if (args.length == 0) {
            System.out.println("인자를 입력하지 않았습니다.");
        }


    }
}

1. C:\Users...[TestFree.java의 경로]>java TestFree.java 123 qwe
   123
   qwe

 

2. C:\Users...[TestFree.java의 경로]>java TestFree.java
   인자를 입력하지 않았습니다.

 

 

커맨드 라인에 입력된 매개변수는 문자열이고, 공백문자로 구분하기 때문에 입력될 값에 공백이 있는 경우 큰따옴표(")로 감싸주어야 한다.

 

그리고 커맨드 라인에 매개변수를 입력하지 않으면 JVM이 null대신 크기가 0인 배열을 생성하여 args에 전달하도록 구현되어 있다. (자바에서 크기가 0인 배열을 생성하는 것이 가능)

공유하기

facebook twitter kakaoTalk kakaostory naver band