매개변수 args와 열거 타입

이동주·2025년 3월 2일

JAVA

목록 보기
13/30

매개 변수

main() 메소드의 String[] 매개변수 용도

.args : 프로그램을 실행할 때 값을 입력받는 용도로 사용

-> 자바 프로그램을 실행하기 위해 main()메소드를 작성하면서 문자열 배열 형태인 String[] args 매개 변수가 필요
-> 프로그램 실행 시 입력값이 부족하면 길이가 0인 String 배열을 참조함

Scanner과 args의 차이!

1) Scanner : 프로그램을 실행 중에 입력받을 수 있음
2) args : 프로그램 실행 시 입력을 받고 프로그램을 실행시킴
-> 터미널 또는 Run Configuratioins에서 실행!

package ch05.sec11;

public class exam01 {
	public static void main(String[] args) {
		// 이 프로그램은 Scanner로 입력 받는 것이 아닌 Run Configurations나 터미널에서 작동
		if(args.length != 2) {
			System.out.println("프로그램 입력값이 부족");
			System.exit(0); // 정상적으로 실행 중지
		} 
        // 입력 값이 2개가 아닐 때 동작하는 코드
		
		String strNum1 = args[0]; //값1
		String strNum2 = args[1]; //값2
		
		int num1 = Integer.parseInt(strNum1); 
        // 기본적으로 문자형으로 값을 받기 때문에 
		int num2 = Integer.parseInt(strNum2); 
        // 정수형으로 사용하려면 값을 int형으로 변환해주기
		
		int result = num1 + num2;
		System.out.println(num1 + "+" + num2 + "=" + result);
		//Run Configurations나 터미널에서 실행
	}

}

cmd 또는 터미널에서 실행하기!

  1. 해당 자바 폴더의 bin 폴더로 이동
  2. java -cp . 패키지명.클래스명 (.class는 입력하지 않음) 입력
    -> -cp . 는 안 적어도 되는 경우가 있음
  3. 프로그램의 값이 없기 때문에 프로그램 입력값이 부족하다고 나옴
  4. 공백으로 값을 구분하여 입력 후 출력하면 결과값이 나오는 것을 확인할 수 있음
    -> 값을 하나로 묶기 위해서는 값을 " " 안에 넣기!

eclipse에서 실행시키기

  1. 메뉴 상단에 Run > Run Configuratons 클릭

  1. Run Configurations 에서 Arguments 라는 메뉴에 들어가기
  2. Program arguments에 값을 입력하고 Run을 누르면 결과값이 나오는 것을 확인할 수 있음
    -> 값을 입력할 때에는 공백으로 구분하기

enum

열거 타입

-> 열거형 타입을 요일, 계절처럼 한정된 값을 가지는 타입
-> 사용자가 정의하는 새로운 형
-> 논리적인 값들을 취급하며 코드를 직관적으로 만들어 논리 오류를 줄이기 위한 목적!
-> 따로 값을 명시하지 않으면 첫 번째 명칭부터 0이 부여됨!
-> 형태 : enum파일명.enum값(명칭)

package ch05.sec12;

public enum Week {
	MONDAY,
	TUESDAY,
	WEDNESDAY,
	THURSDAY,
	Friday,
	SATURDAY,
	SUNDAY
	
	// enum : 한정된 값들에 대한 논리적인 명칭! (사용자가 직접 정의)
	// 데이터를 직관적으로 보게 하기 위한 명칭 정하기!
	// 사용방법 : enum명.enum명칭
}

Calendar 객체

-> Java에서 제공하는 달력 객체
-> new 연산자 대신 .getInstance(); 함수를 사용하여 객체를 불러옴
-> 값을 받아올 때는 .get() 함수 사용!

package ch05.sec12;

import java.util.Calendar;
// Calendar라는 객체를 사용하기 위해서는 해당 문구를 임포트해줘야함

public class exam01 {
	public static void main(String[] args) {
		Week today = null; 
		// 기본형 타입을 제외한 모든 타입은 참조변수이기 때문에
		// 초기값에 null을 넣어줘야함
		
		Calendar cal = Calendar.getInstance(); 
		// Calendar 객체 생성
		// Calendar의 객체를 생성하기 위한 함수는 .getInstance()
		
		
		System.out.print(cal.get(Calendar.YEAR) + "년 ");
        // YEAR : 해당 년도
		System.out.print(cal.get(Calendar.MONTH)+ "월 "); 
        // MONTH : 해당 월
		System.out.print(cal.get(Calendar.DAY_OF_MONTH) + "일 "); 
        // DAY_OF_MONTH : 해당 날짜
		System.out.print(cal.get(Calendar.DAY_OF_WEEK) + "요일"); 
        // DAY_OF_WEEK : 해당 요일
		//Calendar 객체에 있는 데이터를 불러오기 위해서는 .get()을 사용!
		//요일의 경우 정수 형태로 표현이 됨
		
		System.out.println();
		
		int week = cal.get(Calendar.DAY_OF_WEEK); 
        // 요일의 숫자 정보를 받아옴
		
		switch(week) {
			case 1: today = Week.SUNDAY; break; // 1:일요일
			case 2: today = Week.MONDAY; break; // 2:월요일
			case 3: today = Week.TUESDAY; break; // 3:화요일
			case 4: today = Week.WEDNESDAY; break; // 4:수요일
			case 5: today = Week.THURSDAY; break; // 5:목요일
			case 6: today = Week.Friday; break; // 6:금요일
			case 7: today = Week.SATURDAY; break; // 7:토요일
		}
		
		if(today == Week.Friday) { // 금요일이면
			System.out.println("집에서 잡니다");
		}
		else {
			System.out.println("자바공부 합니다");
		}
	}
}
profile
끄작끄작

0개의 댓글