본문 바로가기

Java/BookExample

커맨드 라인 입력

public static void main(String[] args)

 

P.159

"java 클래스"로 프로그램을 실행하면 JVM이 길이가 0인 String 배열을 먼저 생성하고 main() 메소드를 호출할 때 매개값으로 전달한다. 

main()메소드는 String[]args 매개 변수를 통해서 커맨드라인에서 입력된 데이터의 수(배열의 길이)와 입력된 데이터(배열의 항목 값)을 알 수 있게 된다. "

 

"자바 프로그램의 실행 순간 외부값을 가져와서 프로그램 안에 사용하고자 할 때, 메모리에 저장할 공간을 미리 만들어 놓는다."

 

프로그램 실행과 동시에 바로 특정 값을 입력받아 프로그램을 수행해야 할때 커맨드라인을 사용한다. 

 

 

사용법 : Run - Run Configurations - Program arguements 

               → "문자열1 문자열2" 입력

그림과 같이 공백으로 구분된 문자열 목록을 주고 Run하면

메인 메소드가 해당 값들을 매개변수로 받아 프로그램을 실행한다.

※숫자를 입력해도 String으로 받음

 

명령프롬프트(cmd)에서 다음과 같이 실행하는 것과 동일하다.

java MainStringArrayArgumet 30 50

 

 

참고  - Public static void main(String[] args)에 대한 설명

(공부를 진행하면서 여러 번 읽어보면 좋을 것 같다.)

blog.naver.com/crazydeicide/130114957734

 

 

 

예제 (p.160) - main()메소드의 매개 변수 

package BookExampleHomework;

public class MainStringArrayArgument {

	public static void main(String[] args) { //String[] args
		if(args.length != 2) { //배열의 길이가 2가 아니라면(입력된 값이 두개가 아니라면)
			System.out.println("프로그램의 사용법"); //오류 메세지 발생
			System.out.println("java MainStringArrayArgument num1 num2");
			System.exit(0); //바로 프로그램을 종료시킴
		}
		
		String strNum1 = args[0]; //매개 받은 배열의 값들을 문자열로 변환
		String strNum2 = args[1];
		
		int num1 = Integer.parseInt(strNum1); //문자열을 다시 정수로 형변환함으로써 연산 가능하게 한다.
		int num2 = Integer.parseInt(strNum2);
		
		int result = num1 + num2; //즉, 입력받은 두 개의 수를 더한 결과를 보여주는 프로그램
		System.out.println(num1 + " + " + num2 + " = " + result);
	}

}

 

'Java > BookExample' 카테고리의 다른 글

열거 객체의 메소드  (0) 2021.03.03
열거 타입과 열거 상수  (0) 2021.03.03
배열복사  (0) 2021.03.02
add메소드와 배열생성  (0) 2021.02.28
배열 속의 배열  (0) 2021.02.28