.args : 프로그램을 실행할 때 값을 입력받는 용도로 사용
-> 자바 프로그램을 실행하기 위해 main()메소드를 작성하면서 문자열 배열 형태인 String[] args 매개 변수가 필요
-> 프로그램 실행 시 입력값이 부족하면 길이가 0인 String 배열을 참조함
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나 터미널에서 실행
}
}



열거 타입
-> 열거형 타입을 요일, 계절처럼 한정된 값을 가지는 타입
-> 사용자가 정의하는 새로운 형
-> 논리적인 값들을 취급하며 코드를 직관적으로 만들어 논리 오류를 줄이기 위한 목적!
-> 따로 값을 명시하지 않으면 첫 번째 명칭부터 0이 부여됨!
-> 형태 : enum파일명.enum값(명칭)
package ch05.sec12;
public enum Week {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
Friday,
SATURDAY,
SUNDAY
// enum : 한정된 값들에 대한 논리적인 명칭! (사용자가 직접 정의)
// 데이터를 직관적으로 보게 하기 위한 명칭 정하기!
// 사용방법 : enum명.enum명칭
}
-> 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("자바공부 합니다");
}
}
}