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
'[study]이론정리 > JAVA(eclipse)' 카테고리의 다른 글
java 5일차_ 04. 문자열은 `==` 비교를 사용할수 없는걸까? (0) | 2024.03.14 |
---|---|
java 5일차 _03. Random (0) | 2024.03.14 |
java 5일차_ 01. 2차원배열(3) 비정방형 (0) | 2024.03.14 |
java 5일차_ 01. 2차원배열(2) (0) | 2024.03.14 |
java 5일차_ 01. 2차원배열(1) (0) | 2024.03.14 |