본문 바로가기
[study]이론정리/JAVA(eclipse)

java 5일차_ 02. 커멘트 라인 아규먼트 배열 ( Command line arguments )

by yoon9i 2024. 3. 14.

2. 커멘트 라인 아규먼트 배열 ( Command line arguments )

1) public static void main( String [ ] args ) { }
- 모든 메서드는 기본적으로 파라미터를 가질수 있다.
  파라미터(parameter) : 메서드명( 변수, 변수2, ... ) {  }
- 파라미터도 메서드안이라 로컬변수이어서 stack 에 저장된다.
  (파라미터는 로컬변수에 속함. 따라서 stack 에 저장됨. )
- 아규먼트( arguments, 인자값 )는 파라미터(변수)에 저장되는 값을 의미한다.

2) 실행할 때 값을 설정할 수 있다.

ex) 
Hello.java 
<==  c:\> javac Hello.java 
Hello.class
<== c:\> java Hello 10 20

3) 이클립스에서 arguments(인자값) 설정하는 방법
*.java 선택하고 오른쪽클릭 > Run as > Run confriguration
> arguments 탭에 공백을 구분자로 값을 설정 > Run 선택.

 

package exam08_배열;

public class ArrayTest03_CommandLineArguments {

	public static void main(String[] args) {
		
		for (String s : args) {
			System.out.println(s);
		}
		
		System.out.println("END.");
		
		

	}// end main

}// end class

 

>>> 10 20 END 

package exam08_배열;

public class ArrayTest03_CommandLineArguments2 {

	public static void main(String[] args) {
		
		// [cmd] c:\> java Hello 10 + 20
		// 문자열 "10" ---> 정수형 10 으로 변환필요
		// int n = Integer.parseInt("10"); // (*)
		
		int v1 = Integer.parseInt(args[0]); // "10" ---> 10
		String op = args[1]; // 연산
		int v2 = Integer.parseInt(args[2]); // "20" ---> 20
		
		int result = 0; // 로컬변수는 반드시 초기화 필요
		switch(op) {
		
		case "+":
			result = v1+v2;
			break;
		case "-":
			result = v1-v2;
			break;
		}
		
		System.out.println("결과값: " + result);
		System.out.println("END.");
		
		/*
		 * case "+"
		 
		 결과값: 30
         END.
         
         * case "-"
		 
		 결과값: -20
         END.
		 */
		
		

	}// end main

}// end class