English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 동적 객체(I)

Java 동적 객체(II)

Java 동적 객체(III)

Java 예외 처리

Java 목록(List)

Java Queue(큐)

Java Map 집합

Java Set 집합

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java 명령줄 인수

이 튜토리얼에서는 예제를 통해 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 예외가 발생합니다。