메인 메서드에 항상 포함되어 있는 이것.
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에 문자열을 입력한다.
*예제를 보기 전에 알아둬야 할 두 가지 메서드
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 |