본문 바로가기

5. 참조타입

5.6.6_커맨드 라인 입력

메인 메서드에 항상 포함되어 있는 이것.

public static void main(String[] args)

 

public으로 선언된 이름이 main인 정적 메서드이다.

매개변수는 String을 타입으로 하는 배열 args 이다.

main은 컴파일러가 패키지 안에 클래스 중 제일 먼저 찾아가야 하는 메서드라는 의미. 

 

"java 클래스"로 프로그램을 실행하면 길이가 0인 String 배열(이름은 args)을 먼저 생성한 후

String[] args = { };

메서드를 호출할 때 매개 값으로 전달한다. 

 

만약 "java 클래스" 뒤에 공백으로 구분된 문자열 목록을 주고 실행하면, 

(java 클래스 문자열 0 문자열 1 문자열 2.. 문자열 n-1)

 

문자열 목록으로 구성된 String [] 배열이 생성되고 메서드를 호출할 때 매개 값으로 전달된다. 

String[] args = {문자열1, 문자열2, .. 문자열n-1};	//클래스 실행시 자동 생성

public static void main(String[] args){		//위 라인에 있는 args 배열이 매개변수로
	//...
 }

그렇다면 어떻게 문자열을 입력할까?

<이클립스>

run -> run configurations.. -> program argument에 문자열을 입력한다.

위 사진에서는 10과 30을 넣음


*예제를 보기 전에 알아둬야 할 두 가지 메서드

System.exit(0) : 프로그램 강제 종료


Integer.parseInt("정수로 변환 가능한 문자열") : 문자열을 정수로 변환

int 변수 = Integer.parseInt("문자열");

변수에 정수로 변환된 문자열이 저장된다. 


package sec06.exam04_main_argument;

public class MainStringArrayArgument {
	public static void main(String[] args) {
		if(args.length != 2) {
			System.out.println("프로그램의 사용법");
			System.out.println("java MainStringArrayArgument Num1 Num2");
			System.exit(0);	//시스템 종료 메소드
		}
		
		String strNum1 = args[0];
		String strNum2 = args[1];
		
		//Integer.parseInt() : String -> int 메소드 
		int num1 = Integer.parseInt(strNum1);
		int num2 = Integer.parseInt(strNum2);
		
		int result = num1 + num2;
		System.out.println(num1 + " + " + num2 + " = " + result);

	}

}

바로 실행했을 경우 실행결과:

프로그램의 사용법

java MainStringArrayArgument Num1 Num2

 

(위의 사진 1처럼) 문자열 10 30 입력 후 실행결과:

10 + 30 = 40

'5. 참조타입' 카테고리의 다른 글

5.6.10_ 향상된 for문  (0) 2020.05.01
5.6.8_객체를 참조하는 배열  (1) 2020.04.30
5.6.7_다차원 배열  (0) 2020.04.30
5.6.1~5_배열, 배열 선언, 배열길이  (1) 2020.04.26
5.1_ 데이터 타입 분류  (0) 2020.04.18